我正在尝试将十六进制值转换为整数,以便我可以创建一个新的颜色可绘制对象。我不确定这是否可能,但根据文档 https://developer.android.com/reference/android/graphics/drawable/ColorDrawable, 它应该。它明确要求
公共 ColorDrawable(int 颜色)
添加到 API 级别 1 使用指定的颜色创建一个新的 ColorDrawable
颜色。
参数 color要绘制的颜色。
因此,我的代码无法正常工作,因为我收到 Invalid int: "FF6666" 错误。有任何想法吗?
int decode = Integer.decode("FF6666");
ColorDrawable colorDrawable = new ColorDrawable(decode);
既然你在谈论十六进制,你就必须从0x
并且不要忘记不透明度。
所以基本上:0xFFFF6666
ColorDrawable cd = new ColorDrawable(0xFFFF6666);
您还可以在/res中创建一个新的colors.xml文件并定义颜色,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="mycolor">#FF6666</color>
</resources>
并简单地获取 R.color.mycolor 中定义的颜色
getResources().getColor(R.color.mycolor)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)