關於ScrollView嵌套RecyclerView出現item顯示不全的問題


最近使用ScrollView時,發現里面嵌套Listview顯示不全,試過重寫Listview的onMeasure(),並沒有起作用。然后將ListView換成RecyclerView后,高度還是顯示不全面。

查資料,有以下幾種解決辦法:

1、在RecyclerView最外面嵌套一層布局RelativeLayout,網上有人說需要添加屬性android:descendantFocusability="blocksDescendants"。但是我發現滑動的時候界面有卡頓。

  這是ScrollView和RecyclerView嵌套滑動導致的卡頓,所以需將RecyclerView.setNestedScrollingEnabled(false)。這樣就可以了。android:descendantFocusability這個屬性有無均可。

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content">
            <android.support.v7.widget.RecyclerView
                android:id="@+id/rv_template"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:padding="10dp"
                android:paddingBottom="24dp"
                android:scrollbars="none" />
        </RelativeLayout>

    recyclerview.setNestedScrollingEnabled(false);

 

2、這個問題只在23版本以上才會出現,23版本是android 6.0版本,所以當我們targetSdkVersion小於或者等於23的時候(也就是我們兼容到23版本)是沒有問題的,一但兼容到23版本以上就會出現這個問題。

  所以可以將app的build.gradle的targetSdkVersion 和 compileSdkVersion設置成小於23,這個問題就可以順利解決,但是現在市場上8.0已經非常普遍了,9.0手機也已經出了,只兼容到6.0版本顯然不太友好,建議還是用第一種方法。

 

  By LiYing


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM