You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Material3:升级Android Studio Giraffe后如何获取主题十六进制颜色值?

在Android Studio Giraffe中访问主题颜色并获取十六进制值

Android Studio Giraffe默认采用Material 3主题,颜色系统改为通过主题属性引用而非直接硬编码颜色值,这就是你看不到teal、purple这类直接颜色值的原因。状态栏的紫色通常对应主题的colorPrimary属性,以下是具体解决方法:

一、访问主题中的颜色

1. 在XML布局/样式中引用

直接使用主题属性即可获取对应颜色,常用属性示例:

  • 状态栏颜色(默认配置):?attr/colorPrimary
  • 主品牌色调:?attr/colorPrimary
  • 次要品牌色调:?attr/colorSecondary
  • 页面背景色:?attr/colorBackground

示例(设置TextView文本颜色):

<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColor="?attr/colorPrimary" />

2. 在代码中获取

通过Context的主题解析方法获取颜色值:

// 解析colorPrimary对应的颜色值
TypedValue typedValue = new TypedValue();
getTheme().resolveAttribute(com.google.android.material.R.attr.colorPrimary, typedValue, true);
int primaryColor = typedValue.data;

// 或用ContextCompat简化调用
int primaryColorCompat = ContextCompat.getColor(this, com.google.android.material.R.attr.colorPrimary);

Kotlin版本:

val primaryColor = context.theme.resolveAttribute(com.google.android.material.R.attr.colorPrimary, TypedValue(), true).run { data }
// 或简化写法
val primaryColorCompat = ContextCompat.getColor(context, com.google.android.material.R.attr.colorPrimary)

二、获取颜色的精确十六进制值

1. 查看默认颜色资源

打开res/values/colors.xml,主题属性对应的默认颜色都在这里定义,比如状态栏紫色的默认值:

<color name="purple_500">#6750A4</color>

注意:如果开启了Material You动态颜色适配,运行时实际颜色可能和默认值不同,需用以下方法获取真实值。

2. 通过布局预览直接查看

  1. 打开布局文件切换到Design视图
  2. 选中状态栏或使用目标颜色的控件
  3. 在右侧属性面板点击颜色属性旁的色块,打开颜色选择器
  4. 选择器底部会显示当前颜色的十六进制值

3. 代码中输出十六进制值

在Activity/Fragment中获取颜色后,转换为十六进制字符串并打印:

int color = ContextCompat.getColor(this, com.google.android.material.R.attr.colorPrimary);
String hexColor = String.format("#%06X", (0xFFFFFF & color));
Log.d("ColorHex", hexColor);

Kotlin版本:

val color = ContextCompat.getColor(context, com.google.android.material.R.attr.colorPrimary)
val hexColor = String.format("#%06X", 0xFFFFFF and color)
Log.d("ColorHex", hexColor)

内容的提问来源于stack exchange,提问作者WHOATEMYNOODLES

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.13 14:35:11