Android ScrollView中嵌套ListView和GridView显示不全解决方案以及自定义ListView和GridView时出现的滑动问题

报错的代码: requestLayout() improperly called by android.widget.GridView

 

首先,网上并没有真正的解决方案,妈的坑爹!

其次,经过反复定位 排查问题给出大家解决方案!

最后:
在你的ScrollView内的唯一子View,这里是LinearLaout中添加

android:descendantFocusability="blocksDescendants"

那么,这个属性是什么意思呢?

属性的值有三种:

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

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

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

有了这个属性在recyclerview、listView等item中有ImageButton,Button,CheckBox等子控件的时候就可以很方便的控制是整个item获取焦点响应点击事件还是item中的这些子VIew获取焦点响应事件了。

你可能感兴趣的:(【Android性能优化】,【AndroidUi功能】,【Android常见问题】)