今天做项目时发现NestedScrollView嵌套RecyclerView的页面布局总是会自动滑动到RecyclerView部分,看了布局代码后怀疑是NestedScrollView的问题,百度搜索发下已经有大神遇到相同问题,遂做个记录,方便以后查看,感谢大神,文档末有原文地址!!!
由于NestedScrollView嵌套RecyclerView,导致Recyclerview占据焦点导致整个NestedScrollView内容上滑问题解决方法:
方法一:在根布局设置android:descendantFocusability=”blocksDescendants” ;
android:descendantFocusability 有三种值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
这种方法,会造成页面中Editext焦点被抢导致无法输入,需要用到第二种方法。
方法二:对于有Editext的页面需要在根布局使用 :
android:focusable="true"android:focusableInTouchMode="true"
方法三:在NestedScrollView顶部第一个控件使用 :
android:focusable="true"android:focusableInTouchMode="true"
原文链接:https://blog.csdn.net/u012230055/article/details/80016802