我已经为自定义视图创建了一个类,并且像我接下来展示的那样覆盖了onMeasure方法。 但是当我为宽度和高度调用getter时,它们总是返回0.为什么会发生这种情况?
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec){
super.onMeasure(widthMeasureSpec, heightMeasureSpec);
int parentWidth = MeasureSpec.getSize(widthMeasureSpec);
int parentHeight = MeasureSpec.getSize(heightMeasureSpec);
this.setMeasuredDimension(parentWidth, parentHeight);
}
答案 0 :(得分:0)
getWidth()和getHeight()值仅在第一次完整布局传递(OnMeasure - > OnLayout)后才可用,所以如果你真的需要访问这些值,请使用getMeasuredWidth()和getMeasuredHeight()