不推荐使用着名和旧方法getColor(int id)。 Api 23

时间:2015-11-25 11:30:26

标签: android

我通常在res / values / colors.xml中保留静态颜色值,如下:

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <color name="colorPrimary">#FF0000</color>
 </resources>

我用它们像: -

通过xml:

 android:textColor="@color/colorPrimary"

通过Java:

 textView.setTextColor(getResources().getColor(R.color.colorPrimary));

但我在http://developer.android.com/上找到的是

 public int getColor (int id)

 Added in API level 1
 This method was deprecated in API level 23.

最后我想问一下如何使用(R.color.colorPrimary)而不做任何弃用?  我们将不胜感激。

感谢阅读。

1 个答案:

答案 0 :(得分:4)

  

然后最后我想问一下如何使用(R.color.colorPrimary)   任何弃用?

使用ContextCompat.getColor()。 E.g。

textView.setTextColor(ContextCompat.getColor(this, R.color.colorPrimary));

来自文档

  

返回与特定资源ID关联的颜色   M,返回的颜色将针对指定的上下文设置样式   主题。