ViewPager + Fragment + RecyclerView 切换ViewPager时,RecyclerView自动滚动的问题

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ZuoZuoShengHen/article/details/85009176

最近项目中有用到ViewPager + Fragment + RecyclerView的布局,发现切换ViewPager时,有一个RecyclerView(里面又嵌套了一个RecyclerView)会自动滚动,原因是因为RecyclerView抢占了事件的焦点导致。

解决办法:

在RecyclerView的外层嵌套一个RelativeLayout或一个LinearLayout,并加上

android:descendantFocusability="blocksDescendants"

descendantFocusability有几个属性如下:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

我们需要的是让父类直接覆盖子类直接获取到焦点,这样RecyclerView就不会自动滑动了。

猜你喜欢

转载自blog.csdn.net/ZuoZuoShengHen/article/details/85009176