建议使用ContextCompat.getColor()替代。ContextCompat.getColor()允许您从与Activity或应用程序相关联的Theme或Context中获取颜色资源值,并且可以避免冻结问题。
示例代码:
//使用ContextCompat.getColor()获取颜色资源值 int color = ContextCompat.getColor(context, R.color.my_color);
//避免使用资源颜色值冻结问题的另一种方法是使用ResourceCompat.getColor()。此方法在API级别23和更高级别上可用。 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { int color = context.getResources().getColor(R.color.my_color, null); } else { int color = context.getResources().getColor(R.color.my_color); }