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