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

被折叠的 条评论
为什么被折叠?



