根据listview的条目长度撑满pop的自定义ListView

来源:互联网 发布:工业机器人您样编程 编辑:程序博客网 时间:2024/06/05 20:13
public class ListViewAdaptWidth extends ListView {    public ListViewAdaptWidth(Context context) {        super(context);    }    public ListViewAdaptWidth(Context context, AttributeSet attrs, int defStyleAttr) {        super(context, attrs, defStyleAttr);    }    public ListViewAdaptWidth(Context context, AttributeSet attrs) {        super(context, attrs);    }    @Override    protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {        int maxWidth = meathureWidthByChilds() + getPaddingLeft() + getPaddingRight();        super.onMeasure(MeasureSpec.makeMeasureSpec(maxWidth, MeasureSpec.EXACTLY), heightMeasureSpec);    }    public int meathureWidthByChilds() {        int maxWidth = 0;        View view = null;        for (int i = 0; i < getAdapter().getCount(); i++) {            view = getAdapter().getView(i, view, this);            view.measure(MeasureSpec.UNSPECIFIED, MeasureSpec.UNSPECIFIED);            if (view.getMeasuredWidth() > maxWidth){                maxWidth = view.getMeasuredWidth();            }        }        return maxWidth;    }}
0 0
原创粉丝点击