真正解决ScrollView嵌套RecyclerView的显示不全及滑动问题

版权声明:本文为博主原创文章,转载请注明出处 https://blog.csdn.net/fzkf9225/article/details/81286193

很多人都会遇到ScrollView嵌套RecyclerView嵌套的问题,各种嵌套模式,这种嵌套会出现以下几种问题:
1、ScrollView和RecyclerView两者都会滑动,而且有时候,滑动会冲突
2、RecyclerView显示不全的问题
3、如果你使用NestedScrollView会出现你一点即item就抖动的问题
4、如果你在RecyclerView外层添加一个RelativeLayout,并添加android:descendantFocusability=”blocksDescendants”属性的话,会出现RecyclerView子布局获取不了焦点的问题escendantFocusability有三个属性,大家可以查一下这个属性,控制焦点的属性。无论是哪种属性的话,在RecyclerView有Editext时都会有焦点问题

当然前面也说道了网上有很多关于这方面的解决办法,但是都没有真正的解决这个问题,
解决办法一(无效):
上面说道的。添加android:descendantFocusability=”blocksDescendants”。
首先该属性android:descendantFocusability的含义是:当一个view获取焦点时,定义ViewGroup和其子控件两者之间的关系。
它一共有3个属性值,它们分别是:

beforeDescendants:viewGroup会优先子类控件而获取焦点

afterDescendants:viewGroup只有当子类控件不需要获取焦点的时候才去获取焦点

blocksDescendants:viewGroup会覆盖子类控件而直接获取焦点
但是当item布局有editText的时候这个属性就解决不了这个问题了。遇到这个问题的就知道,如果没遇到的可以自己去尝试一下。
解决办法二:(无效)
使用NestedScrollView代替ScrollView,同样如果你ScrollView字布局需要获取焦点的话,会出现自定回弹的效果,很尴尬!
解决办法N:(无效)
重写LinearLayoutManager或GridLayoutManager

网上的博客都是一大抄,根本无法解决问题,在我想尽一些办法的时候终于解决了这个问题,终极解决方案,参考这篇文章https://segmentfault.com/a/1190000011553735

猜你喜欢

转载自blog.csdn.net/fzkf9225/article/details/81286193