Android 自定义控件:怎么在一个控件绘制之前改变它的某些属性再绘制?

2025-04-07 13:53:40
推荐回答(1个)
回答1:

控件尺寸的变化可以通过重写onSizeChanged实现,这个方法带有宽高的参数,你设置一个高和宽的全局变量,在这个方法里把高宽重新设置。代码就像下面这样:


@Override
protected void onSizeChanged(int w, int h, int oldw, int oldh) {
super.onSizeChanged(w, h, oldw, oldh);
this.width = w;
this.height = h;
invalidate();
}

最后调用invalidate可以让控件重新调用onDraw方法