我的课程定义如下:

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);
    }


为什么在对象上调用change()时形状不改变颜色?谢谢。

最佳答案

您需要调用无效,以便视图知道它需要重绘

10-08 17:45