जवाबों:
हाँ:
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