1
我的类定义如下:在对象上如何在运行时更改自定义视图颜色?
public class Island extends View {
private ShapeDrawable mDrawable;
public Island(Context context) {
super(context);
int width = 50;
int height = 50;
mDrawable = new ShapeDrawable(new OvalShape());
mDrawable.getPaint().setColor(0xff74AC23);
mDrawable.setBounds(0, 0, width, height);
}
public void change() {
mDrawable.getPaint().setColor(Color.BLACK);
}
protected void onDraw(Canvas canvas) {
mDrawable.draw(canvas);
}
为什么不会形状改变颜色时,我呼吁变化()?谢谢。
就是这样,谢谢。之前,我试图在drawable本身调用invalidateself(),但在View上调用invalidate()完美运行。谢谢。 – whoknows 2014-11-05 20:24:32