当前位置: 代码迷 >> Android >> 在重载的onmearsure函数中怎么得到其他view的高
  详细解决方案

在重载的onmearsure函数中怎么得到其他view的高

热度:80   发布时间:2016-05-01 17:42:36.0
在重载的onmearsure函数中如何得到其他view的高
Java code
private int measureHeight(int measureSpec) {        // TODO Auto-generated method stub        int result = 0;        int specMode = MeasureSpec.getMode(measureSpec);        int specSize = MeasureSpec.getSize(measureSpec);        if (specMode == MeasureSpec.EXACTLY) {            // We were told how big to be            result = specSize;        } else {            // Measure the text            DisplayMetrics dm = new DisplayMetrics();            if(this.getContext() instanceof Activity){                ((Activity) this.getContext()).getWindowManager().getDefaultDisplay().getMetrics(dm);            }            Button btn = (Button)findViewById(R.id.btnstart);            result = dm.heightPixels-btn.getHeight();            if (specMode == MeasureSpec.AT_MOST) {                // Respect AT_MOST value if that was what is called for by measureSpec                result = Math.min(result, specSize);            }        }        return result;    }


我这么写得不到按钮的高啊,调试时btn的值是null。怎么办

------解决方案--------------------
把super.onMeasure放到setMeasuredDimension后面去看看
  相关解决方案