1、getResources.getColor过期
2、正确的代码
val color1 = ContextCompat.getColor(context, R.color.teal_200)
val color2 = ContextCompat.getColor(context, R.color.teal_700)
val color3 = ContextCompat.getColor(context, R.color.black)
setColorSchemeColors(
color1,
color2,
color3,
)
发现过期的提示已经消失了:
3、颜色获取方法说明
| 方法 | 是否推荐 | 说明 |
| Resources.getColor(int id) | ❌ 已废弃 | 不支持主 题属性和矢量资源
| ContextCompat.getColor(context, R.color.xxx) | ✅ 推荐 | 向后兼容且安全
| Resources.getColorStateList(int id)| ✅ 如果需要状态列表 | 支持不同状态下的颜色变化
所以我们使用 ContextCompat.getColor(context, R.color.xxx) 替代 Resources.getColor(int id) 就可以了。
表格展示: