Android中ListView以及GridView只显示一行的问题解决(总结)

主要就是为了解决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);
    }

}

猜你喜欢

转载自blog.csdn.net/lpCrazyBoy/article/details/81871884