在我们的页面中如果存在有ListView,当我们进入这个activity时,页面会定位到ListView的位置去,而不是activity的头部,这是由于ListView会去默认获取焦点所造成的。
解决方法:只需要在整个布局的根布局处加上: android:descendantFocusability="blocksDescendants" ,问题就解决了
descendantFocusability这个属性是当一个view获取焦点时,定义ViewGroup和它的子控件的关系,有三个可选值:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点