gpt4 book ai didi

android - 如何在运行时更改自定义 View 颜色?

转载 作者:行者123 更新时间:2023-11-29 15:58:04 28 4
gpt4 key购买 nike

我的类定义如下:

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() 时形状不会改变颜色?谢谢。

最佳答案

您需要调用 invalidate 以便 View 知道它需要重绘

关于android - 如何在运行时更改自定义 View 颜色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26766328/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com