關於ScrollView嵌套RecyclerView出現item顯示不全的問題
阿新 • • 發佈:2019-02-27
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顯示不全的問題