开发中为了实现自己想要的效果,往往需要自定义view,但是有个时候,我们需要根据需要,动态的调整view的宽度和高度,并且在view显示之前就设置好参数,这个问题纠结了好久,终于解决了。
请参考以下方法,重写view的onMeasure方法,设置view 的属性。
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {// super.onMeasure(widthMeasureSpec, heightMeasureSpec);
widthMeasureSpec = View.MeasureSpec.getSize(widthMeasureSpec);
setMeasuredDimension(widthMeasureSpec, CtHelpApplication.gesterHeight);
Log.d("weyko", "widthMeasureSpec=" + widthMeasureSpec
+ "heightMeasureSpec=" + getMeasuredHeight());
}