gpt4 book ai didi

android - 如何获取动态按钮的十六进制颜色

转载 作者:行者123 更新时间:2023-11-29 19:02:55 24 4
gpt4 key购买 nike

我知道要设置动态按钮的十六进制颜色,您可以这样写:

button.setBackgroundColor(Color.parseColor("#FFFFFF"));

但是我怎样才能得到按钮的颜色呢?

我需要这个,因为按钮会根据点击改变颜色,所以我想根据当时按钮的颜色编写 if 语句。

不幸的是,在阅读了其他各种答案后,它们对我没有用。

我试过:

Drawable buttonBackground = button.getBackground();

ColorDrawable buttonColour = (ColorDrawable) button.getBackground();

但这不允许我使用十六进制代码进行比较,例如

if (buttonColour == "#FFFFFF"){

//do stuff
}

我也尝试过在 values/colors 中设置颜色

<color name="notPresent">#FFFFFF</color>

然后在我的代码中:

String buttonColour= button.getResources().getString(R.color.notPresent);

然后用if语句进行比较,同样失败。

最佳答案

按钮是一个 View 。您可以获得像这样的纯色 View

int color = Color.TRANSPARENT;
Drawable bg = view.getBackground();
if (bg instanceof ColorDrawable)
color = ((ColorDrawable) background).getColor();

然后把它转换成彩色HEX之类的

String hexColor = String.format("#%06X", (0xFFFFFF & intColor));

关于android - 如何获取动态按钮的十六进制颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48227455/

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