जवाबों:
हाँ:
RelativeLayout.LayoutParams params= new RelativeLayout.LayoutParams(ViewGroup.LayoutParams.WRAP_CONTENT,ViewGroup.LayoutParams.WRAP_CONTENT);
params.addRule(RelativeLayout.BELOW, R.id.below_id);
viewToLayout.setLayoutParams(params);
सबसे पहले, कोड ऊंचाई और चौड़ाई को निर्दिष्ट करके एक नया लेआउट पैरामेट्स बनाता है। addRule
विधि ठीक से एक्सएमएल के बराबर कहते हैं android:layout_below
। फिर आप बस View#setLayoutParams
उस दृश्य पर कॉल करें जिसे आप चाहते हैं कि उन पैरामेट्स हैं।
वैकल्पिक रूप से आप वर्तमान लेआउट मापदंडों का उपयोग कर सकते हैं और उन्हें संशोधित कर सकते हैं:
RelativeLayout.LayoutParams params = (RelativeLayout.LayoutParams) viewToLayout.getLayoutParams();
params.addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
नए बनाने के बजाय मौजूदा के साथ काम करना चाहिए । वास्तव में, इसे सही उत्तर के रूप में स्वीकार किया जाना चाहिए।
जबकि @jackofallcode उत्तर सही है, इसे एक पंक्ति में लिखा जा सकता है:
((RelativeLayout.LayoutParams) viewToLayout.getLayoutParams()).addRule(RelativeLayout.BELOW, R.id.below_id);
LayoutParams
उन्हें सेट करने के लिए एक संदर्भ की आवश्यकता होती हैsetLayoutParams