求Android 12系统颜色对应的十六进制(Hex)值查询页面
获取Android 12系统颜色Hex值的方法
你提到的system_accent1_0这类系统颜色是Android 12(API 31+)引入的动态系统颜色,它们的实际Hex值会跟随系统主题(浅色/深色模式、用户自定义主题色)变化,没有固定的静态Hex值——这也是你搜不到固定数值的核心原因。
如果需要获取特定场景下的精确Hex值,有几种可行的方法:
通过Android Studio颜色工具提取:
- 打开Android Studio并创建/打开一个API 31及以上的项目
- 在布局文件中引用
@android:color/system_accent1_50这类系统颜色 - 点击布局预览中的颜色块,打开颜色选择器,弹窗底部会显示当前主题对应的Hex值
- 切换浅色/深色模式,还能查看不同主题下的对应数值
通过代码动态输出Hex值:
在Activity中添加以下代码,运行后查看Logcat输出即可获取当前环境下的精确Hex值:// Kotlin示例 val color = ContextCompat.getColor(this, android.R.color.system_accent1_50) val hexColor = String.format("#%06X", 0xFFFFFF and color) Log.d("Android12Color", hexColor)// Java示例 int color = ContextCompat.getColor(this, android.R.color.system_accent1_50); String hexColor = String.format("#%06X", 0xFFFFFF & color); Log.d("Android12Color", hexColor);查看Android系统源码基准值:
Android系统颜色的基准定义在源码的frameworks/base/core/res/res/values/colors_material3.xml文件中,里面包含了浅色、深色模式下的静态基准Hex值。不过要注意,实际设备显示的颜色会根据用户自定义主题进行微调。
需要注意的是,这些系统颜色是动态适配的,不同设备、不同用户自定义主题下的Hex值可能存在差异,以上方法获取的是当前环境下的精确数值。
内容的提问来源于stack exchange,提问作者WHOATEMYNOODLES
相关产品推荐
相关产品推荐

