在Android中哪里可以找到系统预定义的颜色资源?
对应#2D2D2D的系统预定义颜色说明
原生安卓系统中,深色主题下BottomNavigationView的默认背景色对应预定义颜色@android:color/system_neutral1_800,默认取值就是#2D2D2D。不过更推荐你使用主题属性?attr/colorSurface替代直接引用系统颜色或者硬编码自定义色值:这个属性会根据当前主题自动匹配对应的surface层颜色,浅色主题下自动用浅色背景,深色主题下自动匹配深色背景,不需要你额外配置night限定的颜色资源,适配性更强。
自定义颜色方案的合理性
如果你的需求是固定BottomNavigationView的背景色,不随系统主题定制变更,直接在colors.xml中自定义颜色是完全可行的方案,不存在性能或者规范问题。如果你需要适配不同厂商的主题定制、跟随系统全局风格,优先用上面提到的主题属性会更合理。
查看全部系统预定义颜色的方法
- 在Android Studio中直接查看:打开任意xml资源文件,输入
@android:color/后,IDE会弹出完整的系统预定义颜色补全列表,点击任意颜色项还可以预览它在当前配置下的实际色值。 - 本地SDK目录查看:找到你本机安装的Android SDK路径,进入对应API版本的
data/res/values/colors.xml文件,即可查看原生安卓系统所有预定义颜色的定义和取值。
注意:尽量不要直接引用
@android:color/下的非公开系统颜色,不同API版本、不同厂商定制ROM可能会修改这些颜色的取值,存在适配风险。
内容的提问来源于stack exchange,提问作者Kre4
相关产品推荐
相关产品推荐

