如何将int转换为十六进制颜色并将其与ColorDrawable一起使用?

我尝试了其他使用字符串的方法,但得到“ ColorDrawable无法应用于java.lang.String”。

我试过了:

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

actionBar.setBackgroundDrawable(new ColorDrawable(strColor));


但是我不能将其应用于ColorDrawable。我正在尝试使用十六进制设置ActionBar的颜色。

谢谢

最佳答案

ColorDrawable将int作为参数而不是string。我想actionColor也是一个整数(彩色十六进制),所以您应该这样做。

int color = 0xFFFFFF & actionColor;
actionBar.setBackgroundDrawable(new ColorDrawable(color));

08-07 22:58