用NestedScrollView嵌套RecyclerView时有时候总是下面的recyclerview,也就是说上方其实还是有其他内容的,可是一打开界面recyclerView就占据了焦点导致页面会上滑.
方法一:在根布局中设置android:descendantFocusability属性
android:descendantFocusability属性值设置成blocksDescendants;
android:descendantFocusability属性一共有三种值分别如下:
- beforeDescendants:viewgroup会优先其子类控件而获取到焦点
- afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
- blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
这种方法,会存在一个问题,如果页面有EditText的焦点会被抢导致无法输入。
方法二:对于有Editext的页面需要在根布局使用
android:focusable="true"
android:focusableInTouchMode="true"
借鉴于:https://blog.csdn.net/u012230055/article/details/80016802