在没有弃用警告的情况下获取资源

使用 Android API 23 或更高版本,通常可以看到这样的情况:

StackOverflow 文档

这种情况是由 Android API 关于获取资源的结构变化引起的。
现在功能:

public int getColor(@ColorRes int id, @Nullable Theme theme) throws NotFoundException    

应该使用。但 android.support.v4 库有另一个解决方案。

将以下依赖项添加到 build.gradle 文件:

com.android.support:support-v4:24.0.0

然后,支持库中的所有方法都可用:

ContextCompat.getColor(context, R.color.colorPrimaryDark);
ContextCompat.getDrawable(context, R.drawable.btn_check);
ContextCompat.getColorStateList(context, R.color.colorPrimary);
DrawableCompat.setTint(drawable);
ContextCompat.getColor(context,R.color.colorPrimaryDark));

此外,可以使用支持库中的更多方法:

ViewCompat.setElevation(textView, 1F);
ViewCompat.animate(textView);
TextViewCompat.setTextAppearance(textView, R.style.AppThemeTextStyle);
...