自定义安全中心界面

安全中心 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 组件,以便叠加层可以工作