2011-11-02 7 views
8

मैं एक लेआउट को परिभाषित करना चाहता हूं कि इसका अभिविन्यास क्षैतिज है, लेकिन यदि बच्चे के विचारों की चौड़ाई चौड़ाई से अधिक है, तो यह नए बच्चे को एक नई पंक्ति में जोड़ती है।रैखिक लेआउट कैसे बनाएं एक नई लाइन में एक बच्चे को दृश्य जोड़ें?

क्या यह किया जा सकता है?

+1

यदि आप LinearLayout का विस्तार करते हैं और addView फ़ंक्शन को ओवरराइड करते हैं, तो क्या आप बच्चे के विचारों की चौड़ाई की गणना करने का कोई तरीका है, तो क्या आप WRAP_CONTENT – Karthi

उत्तर

13

प्राप्त करने के लिए लेआउट के रूप में ग्रिड दृश्य का उपयोग कर सकते आप एक FlowLayout जिसका कस्टम की आवश्यकता होगी करने के लिए है कार्यान्वयन इस लिंक पर दिया जाता है

सौजन्य: निशांत नायर

http://nishantvnair.wordpress.com/2010/09/28/flowlayout-in-android/

+0

और मैं इसका उपयोग कैसे करूं? बस flowLayout.addView और यह इसे निर्दिष्ट तरीके से जोड़ता है? और xml फ़ाइल के लिए क्या है? – piojo

+4

निशांत के 'फ़्लोलाउट' के साथ काम करते हुए मैंने कुछ चीजें देखी जो कि अनावश्यक थे इसलिए मैंने इसे थोड़ा सा tweaked। [यहां] देखें (http://adilatwork.blogspot.co.uk/2012/12/android-horizontal-flow-layout.html)। यह संस्करण बाल विचारों पर मार्जिन को भी ध्यान में रखता है। –

+0

ग्रेट समाधान, धन्यवाद! – goodm

0

एनओपी, :) जिस तरह से आप इसे चाहते हैं (रैखिक लेआउट के साथ नहीं)। मुझे यकीन नहीं है, लेकिन मुझे लगता है कि जावा में फ्लोलाउट था जो बाएं से शुरू होता है और जब कोई जगह नहीं छोड़ी जाती है तो यह नई पंक्ति शुरू होती है। लेकिन एंड्रॉइड में ऐसा कोई लेआउट नहीं है।

लेकिन आप इस समस्या के लिए कुछ कामकाज कर सकते हैं। बहुत सारे समाधान हैं लेकिन यह रैखिक लेआउट के साथ नहीं किया जा सकता है। यदि आप अभिविन्यास को क्षैतिज सेट करते हैं तो कभी भी नई लाइन पर नहीं जाएंगे।

@Rasel के रूप में सबसे अच्छा समाधान का सुझाव दिया के लिए आप gridview का उपयोग करें और उन्मुखीकरण के बारे में कुछ नहीं कर

+0

के साथ प्रयास करते हैं? – piojo

+0

हाँ माप समारोह पर है, लेकिन मैं इसके साथ परेशान नहीं होने का सुझाव देता हूं, बस एक ग्रिडव्यू – Lukap

+0

का उपयोग एक व्हील को पुन: पेश न करें :), ग्रिडव्यू क्या आप रैखिक लेआउट – Lukap

1

आप रिलेवेटिवआउट को मूल दृश्य के रूप में उपयोग कर सकते हैं, और इसमें कई लाइनरलाइट्स डाल सकते हैं, उनमें से प्रत्येक को एक अलग आईडी दे सकते हैं, और एक दूसरे के सापेक्ष अपनी स्थिति समायोजित कर सकते हैं (आपके मामले में "नीचे")।

+0

लेकिन पंक्ति के अंदर विचार पंक्ति चौड़ाई – FtheBuilder

+0

@FtheBuilder से अधिक है, तो यह समायोजित नहीं होगा यदि आप LinearLayout की चौड़ाई को fill_parent पर सेट करते हैं? – Eames

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