问题:
在ScrollView嵌套RecyclerView或者NonScrollListView时,RecyclerView或者NonScrollListView总是自动获取焦点,导致进入该页面时显示位置不正确(顶端没有完全显示)
解决方案:
在ScrollView下面的LinearLayout加上android:descendantFocusability="blocksDescendants"属性, 截获ListView的焦点, 从而达到禁止ScrollView自动滚动。
descendantFocusability有三种属性
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点