您的位置:首页 > 其它

ListView中嵌套GridView显示不全的解决方法

2014-12-30 10:27 246 查看
项目需要,在ListView中显示多张图片,用到了GridView,不过如果使用普通的GridView,Item仅仅只是显示一部分,超出第一行以后的都无法显示了,这个很无语,所以又得继承下GridView重写onMeasure方法去测量子控件的宽高了..

这里只是贴出自定义GridView的代码,直接在xml中使用,ListView的Adapter中调用即可:

public class GridViewForListView extends GridView {
public GridViewForListView(Context context) {
super(context);

}

public GridViewForListView(Context context, AttributeSet attrs) {
super(context, attrs);
}

@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2,
MeasureSpec.AT_MOST);
super.onMeasure(widthMeasureSpec, expandSpec);
}
}


其中的MeasureSPEC.AT_MOST 等同于xml的wrap_content,让GridView能够自适应,另外,我们在使用时,也应该讲其layout_height属性设置为wrap_content
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: