我写了个 layoutInflater 加载了个布局 想得到不居中子View的宽度 得到为0
必须在view绘制完成后才会有宽度,高度等值,这个Android的绘图机制有关系,也就是说如果你要得到view的宽度和高度,应该在异步线程里面延迟获取
实现view的onMesure方法,当运行这时就是在计算view的尺寸
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
super.onMeasure( widthMeasureSpec, heightMeasureSpec);
int measuredHeight = MeasureSpec.getSize(heightMeasureSpec);
int measuredWidth = MeasureSpec.getSize(widthMeasureSpec);
}
楼上正解,先把重绘机制理清楚
from www.diyerland.com