安全中心 UI 的代码位于 safetycenter
目录 packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/
中。使用 OEM 叠加文件夹中的运行时资源叠加层 (RRO) 自定义安全中心 UI。如需了解 RRO 的相关信息,请参阅在运行时更改应用资源的值。
安全中心主题和颜色
安全中心有四个主要主题,它们共享相同的 UI 属性
- 安全中心浅色主题
- 安全中心深色主题
- 安全中心“快捷设置”浅色主题
- 安全中心“快捷设置”深色主题
安全中心主题包含默认颜色。主要 UI 颜色从 Android 系统颜色中提取,可以根据 OEM 对 Android 颜色的一般自定义自动调整。默认情况下,这些颜色会作为 Android 中的 Material You 样式的一部分进行调整。
您可以通过替换安全中心颜色的值来更改这些颜色。
安全中心 UI 颜色 | 属性名称 | 资源 |
---|---|---|
背景 | android:colorBackground |
@android:color/background_device_default_light @android:color/primary_dark_device_default_settings |
表面 | colorSurface |
@color/sc_surface_light @color/sc_surface_dark |
表面变体 | colorSurfaceVariant |
@color/sc_surface_variant_light @color/sc_surface_variant_dark |
主文本 | android:textColorPrimary |
@android:color/text_color_primary |
辅助文本 | android:textColorSecondary |
@android:color/text_color_secondary |
图标 | android:textColorSecondary |
@android:color/text_color_secondary |
资源 | 默认值 |
---|---|
@color/sc_surface_light |
@android:color/system_neutral1_500 ,L 星值为 98(感知亮度) |
@color/sc_surface_dark |
@android:color/system_neutral1_800 |
@color/sc_surface_variant_light |
@android:color/system_neutral2_100
|
@color/sc_surface_variant_dark
|
@android:color/system_neutral1_700
|
问题严重程度颜色
安全中心使用交通信号灯颜色系统来传达问题的严重程度
- 绿色表示信息性问题和正常状态
- 黄色表示建议
- 红色表示严重问题
- 灰色表示缺少信息
默认情况下,这些颜色从 Google Material 调色板中提取。我们建议您保留这些基本颜色,但可以使用绿色、黄色和红色调色板的不同深浅的颜色。
这些颜色属性用于关联安全中心 UI 中具有严重程度颜色的项目,包括图标、按钮以及扫描和状态更改动画。修改这些颜色会重新着色所有元素。例如,修改 @color/sc_status_info_{light,dark}
会更改静态状态图片和扫描期间背景动画的背景颜色。
安全中心“快捷设置”主题使用深色模式颜色,无论设备是否设置为深色模式。
严重程度 | UI 元素 | 属性或资源名称 | 默认颜色 |
---|---|---|---|
信息(绿色) | 状态盾牌 | ?attr/colorScStatusInfo |
浅色主题:绿色 600 (#1e8e3e) 深色主题:绿色 500 (#34a853) |
状态盾牌容器 | ?attr/colorScStatusBackgroundInfo |
浅色主题:绿色 100 (#ceead6)colorSurfaceVariant |
|
图标 | ?attr/colorScIconInfo |
绿色 500 (#34a853) | |
主要操作按钮 | @color/safety_center_button_info |
绿色 400 (#5bb974) | |
辅助操作按钮 | @color/safety_center_outline_button_info |
绿色 300 (#81c995) | |
建议(黄色) | 状态盾牌 | ?attr/colorScStatusRecommend |
浅色主题:黄色 600 (#f9ab00) 深色主题:黄色 500 (#fbbc04) |
状态盾牌容器 | ?attr/colorScStatusBackgroundRecommend |
浅色主题:黄色 100 (#feefc3) 深色主题: colorSurfaceVariant |
|
图标 | ?attr/colorScIconRecommend |
黄色 500 (#fbbc04) | |
主要操作按钮 | @color/safety_center_button_recommend |
黄色 400 (#fcc934) | |
辅助操作按钮 | @color/safety_center_outline_button_recommend |
黄色 300 (#fdd663) | |
警告(红色) | 状态盾牌 | ?attr/colorScStatusWarn |
浅色主题:红色 600 (#d93025) 深色主题:红色 500 (#ea4335) |
状态盾牌容器 | ?attr/colorScStatusBackgroundWarn |
浅色主题:红色 100 (#fad2cf) 深色主题: colorSurfaceVariant |
|
图标 | ?attr/colorScIconWarn |
红色 500 (#ea4335) | |
主要操作按钮 | @color/safety_center_button_warn |
红色 400 (#ee675c) | |
辅助操作按钮 | @color/safety_center_outline_button_warn |
红色 300 (#f28b82) | |
无建议(灰色) | 图标 | ?attr/colorScIconNull |
灰色 600 (#80868b) |
在 Android 14 中,已为每个主题颜色属性添加可叠加的颜色资源,并且已修改了一些默认颜色
资源名称 | Android 13 后备颜色 | Android 14 后备颜色 | Android 14 十六进制代码 |
---|---|---|---|
@color/sc_status_info_light |
绿色 600 | 语义化绿色 | #0E8435 |
@color/sc_status_recommend_light |
黄色 600 | 未更改 | |
@color/sc_status_warn_light |
红色 600 | 未更改 | |
@color/sc_status_info_dark |
绿色 500 | 绿色 400 | #5BB974 |
@color/sc_status_recommend_dark |
黄色 500 | 黄色 400 | #FCC934 |
@color/sc_status_warn_dark |
红色 500 | 红色 400 | #EE675C |
@color/sc_status_background_info_light |
绿色 100 | 未更改 | |
@color/sc_status_background_recommend_light |
黄色 100 | 未更改 | |
@color/sc_status_background_warn_light |
红色 100 | 未更改 | |
@color/sc_status_background_info_dark |
sc_surface_variant_dark | 未更改 | |
@color/sc_status_background_recommend_dark |
sc_surface_variant_dark | 未更改 | |
@color/sc_status_background_warn_dark |
sc_surface_variant_dark | 未更改 | |
@color/sc_icon_info_light |
绿色 500 | 未更改 | |
@color/sc_icon_recommend_light |
黄色 500 | 未更改 | |
@color/sc_icon_warn_light |
红色 500 | 未更改 | |
@color/sc_icon_null_light |
灰色 600 | 未更改 | |
@color/sc_icon_info_dark |
绿色 500 | 绿色 400 | |
@color/sc_icon_recommend_dark |
黄色 500 | 黄色 400 | |
@color/sc_icon_warn_dark |
红色 500 | 红色 400 | |
@color/sc_icon_null_dark |
灰色 600 | 灰色 400 | #BDC1C6 |
@color/sc_shield_accent_dark |
不可用 | 灰色 900 | #202124 |
UI 颜色
绿色状态
绿色盾牌 | |
---|---|
#1E8E3E(绿色/600) | |
深色主题 #34A853(绿色/500) |
绿色容器 | |
---|---|
#CEEAD6(绿色/100) | |
深色主题 #474741 |
绿色设置图标 | |
---|---|
#34A853(绿色/500) | |
深色主题 #34A853(绿色/500) |
扫描按钮 | |
---|---|
绿色按钮 | |
#5BB974(绿色/400) |
标题 | 副标题 |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
黄色状态
黄色盾牌 | |
---|---|
#F9AB00(黄色/600) | |
深色主题 #FBBC04(黄色/500) |
黄色容器 | |
---|---|
#FEEFC3(黄色/100) | |
深色主题 #474741(黄色/500) |
黄色设置图标 | |
---|---|
#FBBC04(黄色/500) | |
深色主题 #FBBC04(黄色/500) |
扫描按钮 | |
---|---|
黄色按钮 | |
#5BB974(黄色/400) |
标题 | 副标题 |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
红色状态
红色盾牌 | |
---|---|
#D93025(红色/600) | |
深色主题 #EA4335(红色/500) |
红色容器 | |
---|---|
#FAD2CF(红色/100) | |
深色主题 #474741 |
红色设置图标 | |
---|---|
#EA4335(红色/500) | |
深色主题 #EA4335(红色/500) |
卸载按钮 | |
---|---|
红色按钮 | |
#EE675C(红色/400) |
标题 | 副标题 |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
字体和文本外观
安全中心字体和文本外观基于 Android 默认文本外观,并且应继承 OEM 已为其设备范围样式配置的字体系列、粗细和其他属性的任何更改。安全中心文本外观可以使用 RRO 直接替换。
安全中心文本外观 | DeviceDefault 基准 | 颜色 | 尺寸 | 粗细 |
---|---|---|---|---|
TextAppearance.SafetyCenter.Headline |
TextAppearance.DeviceDefault.Headline |
android:textColorPrimary |
各异 | 普通 |
TextAppearance.SafetyCenter.Headline.Status |
TextAppearance.DeviceDefault.Headline |
android:textColorPrimary |
22 sp/28 sp | " |
TextAppearance.SafetyCenter.Headline.Issue |
TextAppearance.DeviceDefault.Headline |
android:textColorPrimary |
18 sp/24 sp | " |
TextAppearance.SafetyCenter.Headline.Entry |
TextAppearance.DeviceDefault.Headline |
android:textColorPrimary |
20 sp/24 sp | " |
TextAppearance.SafetyCenter.Medium |
TextAppearance.DeviceDefault.Medium |
各异 | 14 sp/20 sp 或 16 sp/24 sp |
中等 |
TextAppearance.SafetyCenter.Body |
TextAppearance.DeviceDefault.Small |
android:textColorSecondary |
14 sp/20 sp | 普通 |
间距和样式
安全中心通用地使用一组默认内边距值用于内边距和外边距。通过替换间距值来更改安全中心信息密度。
资源名称 | 默认值 |
---|---|
@dimen/sc_spacing_xxxsmall |
2 dp |
@dimen/sc_spacing_xxsmall |
4 dp |
@dimen/sc_spacing_xsmall |
8 dp |
@dimen/sc_spacing_small |
12 dp |
@dimen/sc_spacing_medium |
14 dp |
@dimen/sc_spacing_large |
16 dp |
@dimen/sc_spacing_xlarge |
18 dp |
@dimen/sc_spacing_xxlarge |
20 dp |
@dimen/sc_spacing_xxxlarge |
24 dp |
您可以自定义安全中心卡片的圆角半径。一个圆角尺寸半径用于按钮,三个圆角尺寸用于安全中心卡片
资源名称 | 默认值 |
---|---|
@dimen/sc_button_corner_radius |
12 dp |
@dimen/sc_card_corner_radius_large |
28 dp |
@dimen/sc_card_corner_radius_medium |
20 dp |
@dimen/sc_card_corner_radius_xsmall |
4 dp |
快捷设置图块
可以从 PermissionController 模块中实现的快捷设置图块访问安全中心。快捷设置图块重用了安全中心屏幕中的某些 UI 组件,以便叠加层可以工作
- 快捷设置图块服务:
SafetyCenterQsTileService.kt
- 快捷设置 Activity:
SafetyCenterQsActivity.java