根据已上线的app里总结出来的实用小技巧
当ScrollView嵌套ListView或GridView等控件出现的各种问题, 解决的最佳方案
-
ListView或GridView的内容无法全部显示(ListView和GridView用法一样)
解决方案自定义该控件
public class MyGridView extends GridView {
public MyGridView(Context context) {
super(context);
}
public MyGridView(Context context, AttributeSet attrs) {
super(context, attrs);
}
public MyGridView(Context context, AttributeSet attrs, int defStyleAttr) {
super(context, attrs, defStyleAttr);
}
/**
* 重写该方法,达到使GridView 适应ScrollView的效果
*/
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}
- 上面问题解决后, 接着就会出现数据加载完页面没有停留在顶部的问题
解决方案让控件失去焦点
//必须在控件初始化后设置, 也不能写在layout中否则不起作用
gridView.setFocusable(false);
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。