2015-09-04 30 views
5

के अंदर देखें तो मेरे पास लंबवत स्क्रॉल व्यू के अंदर एक क्षैतिज रीसाइक्लिंग व्यू है। मेरे लेआउट के अंदर सब कुछ ठीक दिखाया गया है और यह सभी दिशाओं में स्क्रॉल करता है और यह आसानी से करता है।क्षैतिज रीसाइक्लर वर्टिकल स्क्रॉल व्यू

मेरे पास एकमात्र समस्या है, यह है कि RecyclerView स्क्रॉलव्यू में कुछ अन्य सामग्री से नीचे है और जब RecyclerView आंशिक रूप से दिखाई देता है, तो यह स्टार्ट-अप पर स्क्रीन के नीचे रीसाइक्लिंग व्यू के नीचे पंक्तिबद्ध होगा। इसका मतलब है कि RecyclerView के ऊपर की सामग्री स्क्रीन से धक्का दिया जाता है।

क्या कोई जानता है कि ऐसा क्यों होता है, और मैं इसे कैसे ठीक कर सकता हूं?

यहां एक साधारण लेआउट है जो मैंने अभी वर्णित किया है। आपको RecyclerView को पॉप्युलेट करने की भी आवश्यकता नहीं है, यह अभी भी यह करेगा।

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="500dp" 
      android:background="#fff"/> 

     <android.support.v7.widget.RecyclerView 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:background="#000"/> 

    </LinearLayout> 

</ScrollView> 
+0

चेक इस https://github.com/lucasr/twoway-view/:

नीचे कोड नमूना मैं मूल प्रश्न में प्रदान की जाती के लिए ठीक है। – Raghunandan

+0

जो मुझे दोवेव्यू के बारे में पता है, यह मेरे प्रश्न के लिए वास्तव में प्रासंगिक नहीं है, लेकिन वैसे भी धन्यवाद। –

उत्तर

6

बाहर कर देता है इस मुद्दे गूगल यहाँ Issue - 81854

की सूचना मिली थी गूगल के अनुसार के रूप में इरादा यह काम कर रहा है। समस्या यह तथ्य है कि RecyclerView में focusableInTouchMode सत्य पर सेट है। समस्या को ठीक करने के लिए मैंने स्क्रॉलव्यू के शीर्ष-दृश्य पर सत्य पर focusableInTouchMode और focusable सेट किया है।

<?xml version="1.0" encoding="utf-8"?> 
<ScrollView 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    android:layout_width="match_parent" 
    android:layout_height="match_parent"> 

    <LinearLayout 
     android:orientation="vertical" 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content"> 

     <LinearLayout 
      android:layout_width="match_parent" 
      android:layout_height="500dp" 
      android:background="#fff" 
      android:focusableInTouchMode="true" 
      android:focusable="true"/> 

     <android.support.v7.widget.RecyclerView 
      android:layout_width="match_parent" 
      android:layout_height="200dp" 
      android:background="#000"/> 

    </LinearLayout> 

</ScrollView> 
+0

आपने स्क्रॉलव्यू के शीर्ष-दृश्य पर 'फोकस करने योग्य इंटचोड मोड' और 'फोकस करने योग्य' सेट करने के लिए कहा है। लेकिन कोड में मैं कुछ अलग देखता हूं। कृपया स्पष्ट करें। –

+0

@ पारसी क्षमा करें। चूंकि स्क्रॉल व्यू में केवल एक बच्चा हो सकता है, मेरा मतलब स्क्रॉलव्यू बच्चे का सबसे ज्यादा दृश्य था। –

+0

मुझे तब नहीं मिला। धन्यवाद। कोई जिक्र नहीं :) –

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