2019-04-17 Recyclerview在scroll

2019-04-17  本文已影响0人  菜神一把梭

项目中会遇到scrollview嵌套Recyclerview的布局,所以需要禁止Recyclerview的滚动,已达到布局效果。

禁止滑动解决方法

自定义LayoutManager以GridLayoutManager为例,LinearLayoutManager同理。

publicclassMyGridLayoutManagerextendsGridLayoutManager{privatebooleanisScrollEnabled =true;publicMyGridLayoutManager(Context context,intspanCount){super(context, spanCount);    }publicMyGridLayoutManager(Context context, AttributeSet attrs,intdefStyleAttr,intdefStyleRes){super(context, attrs, defStyleAttr, defStyleRes);    }publicMyGridLayoutManager(Context context,intspanCount,intorientation,booleanreverseLayout){super(context, spanCount, orientation, reverseLayout);    }publicvoidsetScrollEnabled(booleanflag){this.isScrollEnabled = flag;    }@OverridepublicbooleancanScrollVertically(){returnisScrollEnabled &&super.canScrollVertically();    }}

设置Recycleview的LayoutManager

MyGridLayoutManager gridLayoutManager =newMyGridLayoutManager(getContext(),2);//两列gridLayoutManager.setScrollEnabled(false);        recycleView_single.setLayoutManager(gridLayoutManager);

滑动解决后发现recycleview在安卓6.0显示不全,高度权重再怎么设置都只显示一部分。

解决方法,在使用到recycleview的布局外用一个RelativeLayout,关键属性android:descendantFocusability="blocksDescendants"

作者:暗尘随码去

链接:https://www.jianshu.com/p/49bf92baa98b

来源:简书

简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

上一篇下一篇

猜你喜欢

热点阅读