通常Android6.0以下,ScrollView+RecyclerView只需要重写布局管理器,但是Android6.0重写布局管理器也无效
<RelativeLayout android:layout_width="match_parent" android:layout_height="match_parent" android:descendantFocusability="blocksDescendants"> <android.support.v7.widget.RecyclerView android:id="@+id/rv_recommend" android:layout_width="match_parent" android:layout_height="wrap_content" /> </RelativeLayout>只需要给RecyclerView添加父布局设置descendantsFocusability="blockDescendants" 连给列表设置重写的布局管理器都不需要了
该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点