主要就是为了解决ListView之类的嵌套显示问题。
1、自定义GridView的代码如下:
public class ButtonGridView extends GridView { public ButtonGridView(Context context) { super(context); } public ButtonGridView(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); } }
2、自定义ListView的代码如下:
/** * 自定义List(解决List嵌套显示问题) */ public class ListViewNesting extends ListView { public ListViewNesting(Context context) { super(context); } public ListViewNesting(Context context, AttributeSet attrs) { super(context, attrs); } public ListViewNesting(Context context, AttributeSet attrs, int defStyle) { super(context, attrs, defStyle); } @Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int expandSpec = MeasureSpec.makeMeasureSpec(Integer.MAX_VALUE >> 2, MeasureSpec.AT_MOST); super.onMeasure(widthMeasureSpec, expandSpec); } }