ScrollView内部嵌套Recyclerview,防止recyclerview自动获得焦点
16lz
2021-01-26
在写一个ScrollView 嵌套Viewpager和RecyclerView的布局时,RecyclerView老是自动获得焦点然后在ScrollView
内部上下自动滚动,尝试了在ScrollView的直接子LinearLayout使用
android:focusable="true" android:focusableInTouchMode="true"
但在一些情况下 ScrollView还是会自动获得焦点然后滚动起来,最后的方案
解决方案:
在ScrollView下面的LinearLayout加上android:descendantFocusability="blocksDescendants"属性, 截获ListView的焦 点, 从而达到禁止ScrollView自动滚动.顺便解释下这个属性的其他用法:
该属性是当一个为view获取焦点时,定义viewGroup和子控件两者之间的关系。属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
更多相关文章
- Android控件之文本控件---TextView 两种效果+SpannableString
- Android之控件保持在软键盘上面
- 教你如何去掉滑动控件的阴影
- android 绕过R文件,通过代码获取styleable的属性
- 开源中国客户端源码阅读笔记
- listview列表控件的快速滚动滑块
- Android(安卓)Property动画——ObjectAnimator使用
- Android(安卓)实现按钮在没有触摸事件时几秒钟之后自动隐藏
- Android(安卓)View.onMeasure方法的理解