运用Recycleview经常出现的问题及需要注意的地方
1、ScrollView嵌套Recycleview出现的滑动问题:
只需改变自定义Recycleview改变其高度,其中onMeasure函数决定了组件显示的高度与宽度; makeMeasureSpec函数中第一个函数决定布局空间的大小,第二个参数是布局模式MeasureSpec.AT_MOST的意思就是子控件需要多大的控件就扩展到多大的空间,之后在ScrollView中添加这个组件就OK了,同样的道理,ListView也适用。
- 例如
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
补充一点:设置Recycleview不可滚动调用mRecyclerView.setNestedScrollingEnabled(false)方法即可,true默认滚动,false不可滚动。
如果设置成了match_parent则Recycleview的每一个条目都会铺满整个屏幕,导致界面出现大量的空白区域。
2.RecyclerView布局问题:
倘若我将Recycleview的父控件的高度一般需要设置成worp_context自适应.效果是这样的:
假如我将Recycleview的父布局设置成match_parent效果是这样的:
总结:
Recycleview的父控件的高度一般需要设置成worp_context自适应,避免出现大量空白的子条目