解决RecyclerView在ScrollView中会置顶它上面的控件

通常情况下,需要在RecyclerView上加布局可以通过自己定义adapter然后add header来添加。

但是也还有一种方法来实现,那就是用ScrollView来嵌套,比如这样的代码:


        
                
                 
                 
        

可是当这样写的时候,你会发现,RecyclerView会把它上面的视图顶出屏幕,然后要手动向下滑才能看到,出现这个问题是因为RecyclerView抢了焦点,我们只需要在ScrollView的唯一子布局下面加上这么一句

android:descendantFocusability="blocksDescendants"

android:descendantFocusability该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

你可能感兴趣的:(解决RecyclerView在ScrollView中会置顶它上面的控件)