解决自定义View 设置 layout_width,layout_height为wrap_content时还是充满父类

来源:互联网 发布:python发送http请求 编辑:程序博客网 时间:2024/06/05 10:11


解决自定义View 设置 layout_width,layout_height为wrap_content时还是充满父类代码如下



@Overrideprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {      super.onMeasure(widthMeasureSpec, heightMeasureSpec);    int widthmode=MeasureSpec.getMode(widthMeasureSpec);    int widthsize=MeasureSpec.getSize(widthMeasureSpec);    int heightMode=MeasureSpec.getMode(heightMeasureSpec);    int heightsize=MeasureSpec.getSize(heightMeasureSpec);    if (widthmode==MeasureSpec.AT_MOST&&heightMode==MeasureSpec.AT_MOST){        setMeasuredDimension(yourwidth,yourheight);//设置当宽高为wrap_content时默认宽高    }else if (widthmode==MeasureSpec.AT_MOST){        setMeasuredDimension(yourwidth,heightsize);    }else if(heightMode==MeasureSpec.AT_MOST){        setMeasuredDimension(widthsize,yourheight);    }else {        setMeasuredDimension(widthsize,heightsize);    }}

0 1