El código de la IU del Centro de seguridad se encuentra en el directorio safetycenter
packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/
.
Personaliza la IU de Safety Center con las superposiciones de recursos de tiempo de ejecución (RRO) en la
carpeta de superposición del OEM. Para obtener información sobre las RRO, consulta Cómo cambiar el valor de los recursos de una app en el tiempo de ejecución.
Temas y colores del Centro de seguridad
Safety Center tiene cuatro temas principales que comparten los mismos atributos de la IU:
- Luz del Centro de seguridad
- Centro de seguridad oscuro
- Luz de la configuración rápida del Centro de seguridad
- Configuración rápida del centro de seguridad en modo oscuro
Los temas del Centro de seguridad contienen colores predeterminados. Los colores principales de la IU se extraen de los colores del sistema Android y se pueden adaptar automáticamente con la personalización general del color de Android del OEM. De forma predeterminada, estos colores se adaptan como parte del diseño de Material You en Android.
Para cambiar los colores del Centro de seguridad, anula sus valores.
Color de la IU del Centro de seguridad | Nombre del atributo | Recurso |
---|---|---|
Segundo plano | android:colorBackground |
@android:color/background_device_default_light @android:color/primary_dark_device_default_settings |
Superficie | colorSurface |
@color/sc_surface_light
@color/sc_surface_dark |
Variante de superficie | colorSurfaceVariant |
@color/sc_surface_variant_light @color/sc_surface_variant_dark |
Texto principal | android:textColorPrimary |
@android:color/text_color_primary |
Texto secundario | android:textColorSecondary |
@android:color/text_color_secondary |
Íconos | android:textColorSecondary |
@android:color/text_color_secondary |
Recurso | Valor predeterminado |
---|---|
@color/sc_surface_light |
@android:color/system_neutral1_500 con un valor de L star de 98 (luminancia perceptiva) |
@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
|
Colores de la gravedad del problema
El Centro de seguridad comunica la gravedad del problema con un sistema de color de semáforo:
- Verde para problemas informativos y estado correcto
- Amarillo para las recomendaciones
- Rojo para problemas graves
- Gris para indicar la ausencia de información
De forma predeterminada, estos colores se extraen de la paleta de colores de Google Material. Te recomendamos que mantengas estos colores base, pero puedes usar diferentes tonos de la paleta verde, amarilla y roja.
Estos atributos de color se usan para asociar elementos con colores de gravedad en la IU de Safety Center, incluidos íconos, botones y animaciones de escaneo y cambio de estado. Si modificas estos colores, se cambiará el color de todos los elementos. Por ejemplo, modificar @color/sc_status_info_{light,dark}
cambia el color de fondo tanto en la imagen de estado estática como en la animación del fondo durante un análisis.
El tema de la Configuración rápida del Centro de seguridad usa colores del modo oscuro, independientemente de si el dispositivo está configurado en modo oscuro.
Gravedad | Elemento de la IU | Nombre del atributo o recurso | Color predeterminado |
---|---|---|---|
Información (verde) | Escudo de estado | ?attr/colorScStatusInfo |
Claro: Verde 600 (#1e8e3e) Oscuro: Verde 500 (#34a853) |
Contenedor de escudo de estado | ?attr/colorScStatusBackgroundInfo |
Claro: Verde 100 (#ceead6)colorSurfaceVariant |
|
Ícono | ?attr/colorScIconInfo |
Verde 500 (#34a853) | |
Botón de acción principal | @color/safety_center_button_info |
Verde 400 (#5bb974) | |
Botón de acción secundaria | @color/safety_center_outline_button_info |
Verde 300 (#81c995) | |
Recomendación (amarillo) | Escudo de estado | ?attr/colorScStatusRecommend |
Claro: Amarillo 600 (#f9ab00) Oscuro: Amarillo 500 (#fbbc04) |
Contenedor de escudo de estado | ?attr/colorScStatusBackgroundRecommend |
Claro: Amarillo 100 (#feefc3) Oscuro: colorSurfaceVariant |
|
Ícono | ?attr/colorScIconRecommend |
Amarillo 500 (#fbbc04) | |
Botón de acción principal | @color/safety_center_button_recommend |
Amarillo 400 (#fcc934) | |
Botón de acción secundaria | @color/safety_center_outline_button_recommend |
Yellow 300 (#fdd663) | |
Advertencia (roja) | Escudo de estado | ?attr/colorScStatusWarn |
Claro: Rojo 600 (#d93025) Oscuro: Rojo 500 (#ea4335) |
Contenedor de escudo de estado | ?attr/colorScStatusBackgroundWarn |
Claro: Rojo 100 (#fad2cf) Oscuro: colorSurfaceVariant |
|
Ícono | ?attr/colorScIconWarn |
Rojo 500 (#ea4335) | |
Botón de acción principal | @color/safety_center_button_warn |
Rojo 400 (#ee675c) | |
Botón de acción secundaria | @color/safety_center_outline_button_warn |
Rojo 300 (#f28b82) | |
Sin recomendación (gris) | Ícono | ?attr/colorScIconNull |
Gris 600 (#80868b) |
En Android 14, se agregaron recursos de color superpuestos para cada propiedad de color de tema y se modificaron algunos colores predeterminados:
Nombre del recurso | Color de copia de seguridad de Android 13 | Color de fondo de Android 14 | Código hexadecimal de Android 14 |
---|---|---|---|
@color/sc_status_info_light |
Verde 600 | Verde semántica | #0E8435 |
@color/sc_status_recommend_light |
Amarillo 600 | Sin cambios | |
@color/sc_status_warn_light |
Rojo 600 | Sin cambios | |
@color/sc_status_info_dark |
Verde 500 | Verde 400 | #5BB974 |
@color/sc_status_recommend_dark |
Amarillo 500 | Amarillo 400 | #FCC934 |
@color/sc_status_warn_dark |
Red 500 | Rojo 400 | #EE675C |
@color/sc_status_background_info_light |
Verde 100 | Sin cambios | |
@color/sc_status_background_recommend_light |
Amarillo 100 | Sin cambios | |
@color/sc_status_background_warn_light |
Rojo 100 | No modificado | |
@color/sc_status_background_info_dark |
sc_surface_variant_dark | No modificado | |
@color/sc_status_background_recommend_dark |
sc_surface_variant_dark | No modificado | |
@color/sc_status_background_warn_dark |
sc_surface_variant_dark | Sin cambios | |
@color/sc_icon_info_light |
Verde 500 | Sin cambios | |
@color/sc_icon_recommend_light |
Amarillo 500 | Sin cambios | |
@color/sc_icon_warn_light |
Red 500 | No modificado | |
@color/sc_icon_null_light |
Gris 600 | Sin cambios | |
@color/sc_icon_info_dark |
Verde 500 | Verde 400 | |
@color/sc_icon_recommend_dark |
Amarillo 500 | Amarillo 400 | |
@color/sc_icon_warn_dark |
Red 500 | Rojo 400 | |
@color/sc_icon_null_dark |
Gris 600 | Gris 400 | #BDC1C6 |
@color/sc_shield_accent_dark |
No disponible | Gris 900 | #202124 |
Colores de la IU
Estado verde
Escudo verde | |
---|---|
#1E8E3E (verde/600) | |
Tema oscuro #34A853 (verde/500) |
Contenedor verde | |
---|---|
#CEEAD6 (verde/100) | |
Tema oscuro #474741 |
Ícono de configuración verde | |
---|---|
#34A853 (verde/500) | |
Tema oscuro #34A853 (verde/500) |
Botón de escaneo | |
---|---|
Botón verde | |
#5BB974 (verde/400) |
Título | Subtítulo |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
Estado amarillo
Escudo amarillo | |
---|---|
#F9AB00 (amarillo/600) | |
Tema oscuro #FBBC04 (amarillo/500) |
Contenedor amarillo | |
---|---|
#FEEFC3 (amarillo/100) | |
Tema oscuro #474741 (amarillo/500) |
Ícono de configuración amarillo | |
---|---|
#FBBC04 (amarillo/500) | |
Tema oscuro #FBBC04 (amarillo/500) |
Botón de escaneo | |
---|---|
Botón amarillo | |
#5BB974 (amarillo/400) |
Título | Subtítulo |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
Estado rojo
Red Shield | |
---|---|
#D93025 (Rojo/600) | |
Tema oscuro #EA4335 (rojo/500) |
Contenedor rojo | |
---|---|
#FAD2CF (rojo/100) | |
Tema oscuro #474741 |
Ícono de configuración rojo | |
---|---|
#EA4335 (rojo/500) | |
Tema oscuro #EA4335 (rojo/500) |
Botón Desinstalar | |
---|---|
Botón rojo | |
#EE675C (rojo/400) |
Título | Subtítulo |
---|---|
#1B1C17 (TextColorPrimary) | #46483B (TextColorSecondary) |
Fuentes y apariencia del texto
Las fuentes y el aspecto del texto de Safety Center se basan en el aspecto de texto predeterminado de Android y deben heredar cualquier cambio en una familia de fuentes, grosor y otras propiedades que los OEM ya hayan configurado en sus estilos para todo el dispositivo. La apariencia del texto del Centro de seguridad se puede anular directamente con RRO.
Apariencia del texto del Centro de seguridad | Base de DeviceDefault | Color | Tamaño | Peso |
---|---|---|---|---|
TextAppearance.SafetyCenter.Headline |
TextAppearance.DeviceDefault.Headline |
android:textColorPrimary |
Varía | Frecuente |
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 |
Varía | 14 sp/20 sp o 16 sp/24 sp |
Medio |
TextAppearance.SafetyCenter.Body |
TextAppearance.DeviceDefault.Small |
android:textColorSecondary |
14 sp/20 sp | Frecuente |
Espaciado y estilos
El Centro de seguridad usa un conjunto de valores de padding predeterminados a nivel universal para el padding y los márgenes. Para cambiar la densidad de información del Centro de seguridad, anula los valores de espaciado.
Nombre del recurso | Valor predeterminado |
---|---|
@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 |
Puedes personalizar los radios de las esquinas de las tarjetas del Centro de seguridad. Se usa un radio de tamaño de esquina para los botones y tres tamaños de esquina para las tarjetas del Centro de seguridad:
Nombre del recurso | Valor predeterminado |
---|---|
@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 |
Tarjeta de Configuración rápida
Se puede acceder al Centro de seguridad desde una tarjeta de Configuración rápida implementada en el módulo PermissionController. La tarjeta de Configuración rápida reutiliza algunos de los componentes de la IU de las pantallas del Centro de seguridad para que funcionen los elementos superpuestos:
- Servicio de tarjetas de Configuración rápida:
SafetyCenterQsTileService.kt
- Actividad de Configuración rápida:
SafetyCenterQsActivity.java