2011-03-23 19 views
8

तो मान लें कि मैं एक सापेक्ष लेआउट के अंदर प्रोग्रामेटिक रूप से एकाधिक टेक्स्ट व्यू बनाना चाहता हूं। ऐसा लगता है कि मैं भी तो जैसे एक नया LayoutParams बनाने के लिए प्रत्येक नए TextView के साथ की तरह:क्या हर नए दृश्य को नए लेआउटपरम की आवश्यकता है?

RelativeLayout.LayoutParams p = new RelativeLayout.LayoutParams(
         ViewGroup.LayoutParams.WRAP_CONTENT, 
         ViewGroup.LayoutParams.WRAP_CONTENT); 

तब मैं जोड़ने के जो भी नियम मैं का उपयोग कर चाहते हैं:

p.addrule(...,...); 

ऐसा लगता है कि मैं इस एक LayoutParams उपयोग नहीं कर सकते एकाधिक टेक्स्ट व्यू के नियमों को सेट करने के लिए। क्या यह एक सच्चा बयान है?

धन्यवाद,

उत्तर

6

एकाधिक विचारों के लिए समान लेआउटपैम का उपयोग करना ठीक है, लेआउट के माध्यम से विचारों से पहले लेआउटपैम्स को बदलने वाले चेतावनी को सभी विचारों में परिवर्तन लागू होंगे।

यदि आप केवल कोड सहेजने के लिए देख रहे हैं तो आप लेआउटपैम्स 'copy constructor में देख सकते हैं। यह आपको एक ही लेआउटपैम्स उदाहरण के संदर्भ में दो लेआउट पैराम्स में डेटा से एक नया लेआउट पैराम बनाने की अनुमति देता है।

1

आप दे ही LayoutParams कई TextViews से आपत्ति है, वे सभी सेटिंग को साझा करेंगे। इसका मतलब है कि यदि आप इसमें कुछ बदलते हैं, तो परिवर्तन सभी टेक्स्ट व्यू पर लागू होगा। सामान्य रूप से, आप प्रत्येक TextView के लिए एक अलग उदाहरण का उपयोग करना चाहेंगे।

2

बनाने और सही LayoutParams उदाहरण के निर्माण के बाद आप उस माता-पिता में हर दृश्य के लिए इसका इस्तेमाल कर सकते:

view1.setLayoutParams(params0); 

आप पैरामीटर के स्वतंत्र प्रतियां (जो आप चाहते हैं, मुझे लगता है कि) करना चाहते हैं, आप कर सकते हैं इसे बदलें:

RelativeLayout.LayoutParams params=new RelativeLayout.LayoutParams(params0); 
view1.setLayoutParams(params); 
+0

मजेदार sidenote: कि CopyConstructor केवल ऊंचाई और चौड़ाई की प्रतिलिपि बनाएगा, क्योंकि यह ViewGroup है .RelativeLayouts CopyConstructor। एपीआई 1 9 के ऊपर, आप 'नया रिलेवेटिव लयआउट। लयआउट पैराम्स ((रिलेटिव लेआउट। लयआउट पैराम्स) पैराम्स 0 पर कॉल कर सकते हैं);' निर्दिष्ट मार्जिन और नियमों की भी प्रतिलिपि बनाएँ। – katzenhut

+0

मेरा समाधान; http://stackoverflow.com/a/29664367/938427 – hungtdo

संबंधित मुद्दे