2016-02-28 7 views
66

एक्सएमएल से RecyclerView लेआउट मैनेजर कैसे सेट करें?RecyclerView ऐप कैसे सेट करें: layoutManager = "" XML से?

<android.support.v7.widget.RecyclerView 
     app:layoutManager="???" 
     android:layout_width="match_parent" 
     android:layout_height="match_parent"/> 
+0

देखें प्रलेखन: [recyclerview: layoutManager] (http://developer.android.com /reference/android/support/v7/widget/RecyclerView.html#attr_android.support.v7.recyclerview:layoutManager) –

+1

@dieter_h क्या आप एक उत्तर प्रदान कर सकते हैं wi वें GridLayout प्रबंधक उदाहरण? –

+2

आप 'ऐप का उपयोग कर सकते हैं: layoutManager =" android.support.v7.widget.GridLayoutManager "'। चार तर्कों के साथ निर्माता का उपयोग किया जाएगा ('संदर्भ', 'विशेषता एसईटी', 'int',' int')। प्रलेखन के अनुसार यह _constructor है जब लेआउट मैनेजर रीसाइक्लर व्यू विशेषता लेआउट प्रबंधक द्वारा एक्सएमएल में सेट किया गया है। यदि एक्सएमएल में spanCount निर्दिष्ट नहीं है, तो यह एक कॉलम_ – thetonrifles

उत्तर

121

आप जाँच कर सकते हैं के रूप में in the doc:

लेआउट प्रबंधक के

कक्षा नाम इस्तेमाल किया जा रहा।

कक्षा को android.support.v7.widget.Recycler का विस्तार करना चाहिए लेआउटमैनेजर देखें और हस्ताक्षर (android.content.Context, android.util.AttributeSet, int, int) के साथ या तो एक डिफ़ॉल्ट कन्स्ट्रक्टर या कन्स्ट्रक्टर है।

यदि नाम '।' से शुरू होता है, तो एप्लिकेशन पैकेज उपसर्ग होता है। अन्यथा, यदि नाम में '।' है, तो वर्गनाम को पूर्ण श्रेणी का नाम माना जाता है। अन्यथा, रीसाइक्लर व्यू पैकेज नाम (android.support.v7.widget) prefixed है।

<android.support.v7.widget.RecyclerView 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    app:layoutManager="android.support.v7.widget.GridLayoutManager" > 
+19

पर डिफ़ॉल्ट हो जाता है और आप रीसाइक्लिंग व्यू तत्व पर 'एंड्रॉइड: ओरिएंटेशन' का उपयोग कर सकते हैं ताकि उदासीनता को नियंत्रित किया जा सके। LinearLayoutManager – user3175580

+1

@ गैब्रिएल Mariotti मैंने कार्यान्वयन की जांच की और यह प्रतिबिंब का उपयोग करता है। क्या यह प्रदर्शन के अनुसार ठीक है? –

+1

इस टिप्पणी के अनुसार ऐसा लगता है कि दस्तावेज़ों में अब उपयोगी स्पष्टीकरण नहीं है। तो निराशाजनक है कि @Google अपने दस्तावेज़ों को सही भी नहीं रख सकता है। –

35

आप LinearLayoutManager

<android.support.v7.widget.RecyclerView 
    xmlns:app="http://schemas.android.com/apk/res-auto" 
    app:layoutManager="android.support.v7.widget.LinearLayoutManager" > 

के साथ उपयोग करना चाहते हैं कि बराबर करने के लिए

LinearLayoutManager mLayoutManager = new LinearLayoutManager(getApplicationContext()); 
mRecyclerView.setLayoutManager(mLayoutManager); 
+1

गेब्रियल मारियोटि उत्तर में आपका क्या जोड़ा है? –

+2

बताएं कि कोड में क्या समतुल्य है लेकिन अन्य उदाहरण के साथ LinearLayout –

+0

यदि मैं क्षैतिज रैखिक लेआउट प्रबंधक का उपयोग करना चाहता हूं तो क्या होगा? –

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