安全中心 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