Personnaliser l'interface utilisateur du centre de sécurité

Le code de l'interface utilisateur de Safety Center se trouve dans le répertoire safetycenter packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ . Personnalisez l'interface utilisateur de Safety Center à l'aide des superpositions de ressources d'exécution (RRO) dans le dossier de superposition OEM. Pour plus d'informations sur les RRO, consultez Modifier la valeur des ressources d'une application au moment de l'exécution .

Thèmes et couleurs du Centre de sécurité

Safety Center comporte quatre thèmes principaux qui partagent les mêmes attributs d'interface utilisateur :

  • Lumière du centre de sécurité
  • Centre de sécurité sombre
  • Voyant Paramètres rapides du Centre de sécurité
  • Paramètres rapides du Centre de sécurité sombre

Les thèmes Safety Center contiennent des couleurs par défaut. Les principales couleurs de l'interface utilisateur sont tirées des couleurs du système Android et peuvent s'adapter automatiquement à la personnalisation générale des couleurs Android par l'OEM. Par défaut, ces couleurs s'adaptent dans le cadre du style Material You dans Android.

Vous pouvez modifier les couleurs du Safety Center en remplaçant leurs valeurs.

Couleur de l’interface utilisateur du centre de sécurité Nom d'attribut Ressource
Arrière-plan android:colorBackground @android:color/background_device_default_light
@android:color/primary_dark_device_default_settings
Surface colorSurface @color/sc_surface_light @color/sc_surface_dark
Variante de surface colorSurfaceVariant @color/sc_surface_variant_light
@color/sc_surface_variant_dark
Texte principal android:textColorPrimary @android:color/text_color_primary
Texte secondaire android:textColorSecondary @android:color/text_color_secondary
Icônes android:textColorSecondary @android:color/text_color_secondary
Ressource Valeur par défaut
@color/sc_surface_light @android:color/system_neutral1_500 avec une valeur d'étoile L de 98 (luminance perceptuelle)
@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

Couleurs de gravité du problème

Safety Center communique la gravité du problème à l'aide d'un système de couleurs de feux de signalisation :

  • Vert pour les problèmes d'information et l'état OK
  • Jaune pour les recommandations
  • Rouge pour les problèmes graves
  • Gris pour une absence d'information

Par défaut, ces couleurs sont tirées de la palette de couleurs Google Material. Nous vous recommandons de conserver ces couleurs de base, mais vous pouvez utiliser différentes nuances de la palette verte, jaune et rouge.

Ces attributs de couleur sont utilisés pour associer des éléments de couleur de gravité dans l'interface utilisateur de Safety Center, notamment des icônes, des boutons et des animations d'analyse et de changement d'état. La modification de ces couleurs recolore tous les éléments. Par exemple, la modification de @color/sc_status_info_{light,dark} modifie la couleur d'arrière-plan à la fois dans l'image d'état statique et dans l'animation de l'arrière-plan lors d'une analyse.

Le thème Paramètres rapides du Centre de sécurité utilise les couleurs du mode sombre, que l'appareil soit défini ou non en mode sombre.

Gravité Élément d'interface utilisateur Nom de l'attribut ou de la ressource Couleur par défaut
Infos (Vert) Bouclier de statut ?attr/colorScStatusInfo Lumière : Vert 600 (#1e8e3e)
Foncé : Vert 500 (#34a853)
Conteneur de bouclier d'état ?attr/colorScStatusBackgroundInfo Lumière : Vert 100 (#ceead6)
colorSurfaceVariant
Icône ?attr/colorScIconInfo Vert 500 (#34a853)
Bouton d'action principale @color/safety_center_button_info Vert 400 (#5bb974)
Bouton d'action secondaire @color/safety_center_outline_button_info Vert 300 (#81c995)
Recommandation (jaune) Bouclier de statut ?attr/colorScStatusRecommend Lumière : Jaune 600 (#f9ab00)
Foncé : Jaune 500 (#fbbc04)
Conteneur de bouclier d'état ?attr/colorScStatusBackgroundRecommend Lumière : Jaune 100 (#feefc3)
Foncé : colorSurfaceVariant
Icône ?attr/colorScIconRecommend Jaune 500 (#fbbc04)
Bouton d'action principale @color/safety_center_button_recommend Jaune 400 (#fcc934)
Bouton d'action secondaire @color/safety_center_outline_button_recommend Jaune 300 (#fdd663)
Avertissement (rouge) Bouclier de statut ?attr/colorScStatusWarn Lumière : Rouge 600 (#d93025)
Foncé : Rouge 500 (#ea4335)
Conteneur de bouclier d'état ?attr/colorScStatusBackgroundWarn Lumière : Rouge 100 (#fad2cf)
Foncé : colorSurfaceVariant
Icône ?attr/colorScIconWarn Rouge 500 (#ea4335)
Bouton d'action principale @color/safety_center_button_warn Rouge 400 (#ee675c)
Bouton d'action secondaire @color/safety_center_outline_button_warn Rouge 300 (#f28b82)
Aucune recommandation (gris) Icône ?attr/colorScIconNull Gris 600 (#80868b)

Dans Android 14, des ressources de couleurs superposables ont été ajoutées pour chaque propriété de couleur du thème, et certaines couleurs par défaut ont été modifiées :

Nom de la ressource Couleur de support Android 13 Couleur de support Android 14 Code hexadécimal Android 14
@color/sc_status_info_light Vert 600 Vert sémantique #0E8435
@color/sc_status_recommend_light Jaune 600 Inchangé
@color/sc_status_warn_light Rouge 600 Inchangé
@color/sc_status_info_dark Vert 500 Vert 400 #5BB974
@color/sc_status_recommend_dark Jaune 500 Jaune 400 #FCC934
@color/sc_status_warn_dark Rouge 500 Rouge 400 #EE675C
@color/sc_status_background_info_light Vert 100 Inchangé
@color/sc_status_background_recommend_light Jaune 100 Inchangé
@color/sc_status_background_warn_light Rouge 100 Inchangé
@color/sc_status_background_info_dark sc_surface_variant_dark Inchangé
@color/sc_status_background_recommend_dark sc_surface_variant_dark Inchangé
@color/sc_status_background_warn_dark sc_surface_variant_dark Inchangé
@color/sc_icon_info_light Vert 500 Inchangé
@color/sc_icon_recommend_light Jaune 500 Inchangé
@color/sc_icon_warn_light Rouge 500 Inchangé
@color/sc_icon_null_light Gris 600 Inchangé
@color/sc_icon_info_dark Vert 500 Vert 400
@color/sc_icon_recommend_dark Jaune 500 Jaune 400
@color/sc_icon_warn_dark Rouge 500 Rouge 400
@color/sc_icon_null_dark Gris 600 Gris 400 #BDC1C6
@color/sc_shield_accent_dark Pas disponible Gris 900 #202124

Couleurs de l'interface utilisateur

État vert

Bouclier vert

#1E8E3E (vert/600)
Thème sombre
#34A853 (vert/500)
Conteneur vert

#CEEAD6 (vert/100)
Thème sombre
#474741
Icône de paramètres verte

#34A853 (vert/500)
Thème sombre
#34A853 (vert/500)
Bouton de numérisation

Bouton vert
#5BB974 (vert/400)
Titre Sous-titre

# 1B1C17 (TexteCouleurPrimaire) #46483B (TexteCouleurSecondaire)

État jaune

Bouclier jaune

#F9AB00 (Jaune/600)
Thème sombre
#FBBC04 (jaune/500)
Conteneur jaune

#FEEFC3 (jaune/100)
Thème sombre
#474741 (jaune/500)
Icône de paramètres jaune

#FBBC04 (jaune/500)
Thème sombre
#FBBC04 (jaune/500)
Bouton de numérisation

Bouton jaune
#5BB974 (Jaune/400)
Titre Sous-titre

# 1B1C17 (TexteCouleurPrimaire) #46483B (TexteCouleurSecondaire)

État rouge

Bouclier Rouge

#D93025 (Rouge/600)
Thème sombre
#EA4335 (rouge/500)
Conteneur rouge

#FAD2CF (rouge/100)
Thème sombre
#474741
Icône de paramètres rouge

#EA4335 (rouge/500)
Thème sombre
#EA4335 (rouge/500)
Bouton Désinstaller

bouton rouge
#EE675C (rouge/400)
Titre Sous-titre

# 1B1C17 (TexteCouleurPrimaire) #46483B (TexteCouleurSecondaire)

Polices et apparence du texte

Les polices et l'apparence du texte de Safety Center sont basées sur l'apparence du texte par défaut d'Android et doivent hériter de toutes les modifications apportées à une famille de polices, à l'épaisseur et à d'autres propriétés déjà configurées par les OEM pour leurs styles à l'échelle de l'appareil. L’apparence du texte du Safety Center peut être remplacée directement à l’aide des RRO.

Apparence du texte du centre de sécurité Base DeviceDefault Couleur Taille Poids
TextAppearance.SafetyCenter.Headline TextAppearance.DeviceDefault.Headline android:textColorPrimary Varie Régulier
TextAppearance.SafetyCenter.Headline.Status TextAppearance.DeviceDefault.Headline android:textColorPrimary 22 vitesses/28 vitesses "
TextAppearance.SafetyCenter.Headline.Issue TextAppearance.DeviceDefault.Headline android:textColorPrimary 18 vitesses/24 vitesses "
TextAppearance.SafetyCenter.Headline.Entry TextAppearance.DeviceDefault.Headline android:textColorPrimary 20 vitesses/24 vitesses "
TextAppearance.SafetyCenter.Medium TextAppearance.DeviceDefault.Medium Varie 14 vitesses/20 vitesses ou
16 vitesses/24 vitesses
Moyen
TextAppearance.SafetyCenter.Body TextAppearance.DeviceDefault.Small android:textColorSecondary 14 vitesses/20 vitesses Régulier

Espacement et styles

Safety Center utilise universellement un ensemble de valeurs de remplissage par défaut pour le remplissage et les marges. Modifiez la densité des informations du Safety Center en remplaçant les valeurs d'espacement.

Nom de la ressource Valeur par défaut
@dimen/sc_spacing_xxxsmall 2 points de pénétration
@dimen/sc_spacing_xxsmall 4 points de pénétration
@dimen/sc_spacing_xsmall 8 points de vue
@dimen/sc_spacing_small 12 points de pourcentage
@dimen/sc_spacing_medium 14 points de pénétration
@dimen/sc_spacing_large 16 points de pourcentage
@dimen/sc_spacing_xlarge 18 dp
@dimen/sc_spacing_xxlarge 20 points de pourcentage
@dimen/sc_spacing_xxxlarge 24 points de vue

Vous pouvez personnaliser les rayons des coins des cartes Safety Center. Un rayon de taille de coin est utilisé pour les boutons et trois tailles de coin sont utilisées pour les cartes Safety Center :

Nom de la ressource Valeur par défaut
@dimen/sc_button_corner_radius 12 points de pourcentage
@dimen/sc_card_corner_radius_large 28 dp
@dimen/sc_card_corner_radius_medium 20 points de pourcentage
@dimen/sc_card_corner_radius_xsmall 4 points de pénétration

Mosaïque Paramètres rapides

Safety Center est accessible à partir d’une vignette Paramètres rapides implémentée dans le module PermissionController. La vignette Paramètres rapides réutilise certains des composants de l'interface utilisateur des écrans de Safety Center afin que les superpositions puissent fonctionner :