如何从颜色资源中获取 color-int?

新手上路,请多包涵

有没有办法从颜色资源中获取颜色整数?

我正在尝试获取资源(R.color.myColor)中定义的颜色的单个红色、蓝色和绿色分量,以便我可以将三个搜索栏的值设置为特定级别。

原文由 ataulm 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 587
2 个回答

您可以使用:

 getResources().getColor(R.color.idname);

在此处查看如何定义自定义颜色:

http://sree.cc/google/android/defining-custom-colors-using-xml-in-android

编辑(1): 由于 getColor(int id) 现在 已弃用,因此必须使用:

 ContextCompat.getColor(context, R.color.your_color);

(在支持库 23 中添加)

编辑(2):

下面的代码可用于棉花糖前后(API 23)

 ResourcesCompat.getColor(getResources(), R.color.your_color, null); //without theme

ResourcesCompat.getColor(getResources(), R.color.your_color, your_theme); //with theme

原文由 sat 发布,翻译遵循 CC BY-SA 3.0 许可协议

或者如果您有一个函数(字符串文本,字符串颜色)并且您需要传递资源颜色字符串,您可以执行以下操作

String.valueOf(getResources().getColor(R.color.enurse_link_color))

原文由 Van Mart 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题