LayoutManager
LinearLayoutManager
के मानक कार्यान्वयन के साथ संयोजन में नए RecyclerView
को आजमा रहा है। मेरा लक्ष्य LayoutManager
डिवाइस को पोर्ट्रेट अभिविन्यास में होने पर क्षैतिज रूप से खींचने देना है और डिवाइस परिदृश्य में होने पर उन्हें लंबवत रूप से आकर्षित करना है। इस के लिए मैं में निम्नलिखित कोड का उपयोग मेरी गतिविधि के onCreate
:लाइनरलाइट मैनेजर सेट फोन रोटेशन के बाद ऑरेंटेशन
RecyclerView recyclerView = (RecyclerView) findViewById(R.id.nextColors);
recyclerView.setAdapter(myAdapter = new MyAdapter(getBaseContext(), myData, myLayout);
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT) {
linearLayoutManager.setOrientation(LinearLayout.HORIZONTAL);
} else {
linearLayoutManager.setOrientation(LinearLayout.VERTICAL);
}
recyclerView.setLayoutManager(linearLayoutManager);
recyclerView.setItemAnimator(new DefaultItemAnimator());
यह ठीक काम करता है अगर मैं गतिविधि शुरू जबकि डिवाइस लैंडस्केप या पोर्ट्रेट मोड में है। लेकिन जब मैं इस गतिविधि में अभिविन्यास बदलता हूं तो गतिविधि को पहली बार शुरू होने पर डिवाइस के अभिविन्यास के आधार पर वस्तुओं को हमेशा क्षैतिज या लंबवत खींचा जाता है। डिवाइस रोटेशन के बाद से यह मुझे समझ में नहीं आता है क्योंकि गतिविधि को फिर से बनाया गया है और LayoutManager
सही अभिविन्यास लेना चाहिए।
किसी को भी एक विचार के साथ डिवाइस अभिविन्यास परिवर्तन setOrientation
काम करने के लिए कैसे है?
आप अपने समस्या का निदान करने में सक्षम होने के लिए पर्याप्त कोड प्रदर्शित नहीं किया। अपना लेआउट बनाने के लिए उपयोग किए जाने वाले कोड को दिखाएं। – Squonk
आपका क्या मतलब है? रीसाइक्लिंग व्यू का समर्थन करने वाला एडाप्टर? – Joris
@Squonk मैंने रीसाइक्लिंगव्यू और इसके एडाप्टर के बारे में अधिक कोड जोड़ा है। – Joris