1. 程式人生 > >關於ScrollView嵌套RecyclerView出現item顯示不全的問題

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

layout led 就會 none 重寫 作用 () you gets

最近使用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

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