Personnaliser l'UI du Centre de sécurité

Le code de l'interface utilisateur du centre de sécurité se trouve dans le répertoire safetycenter packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/ Personnalisez l'interface utilisateur du centre de sécurité à l'aide des superpositions de ressources d'exécution (RRO) dans le Dossier en superposition OEM. Pour en savoir plus sur les RRO, consultez la section Modifier la valeur au moment de l'exécution.

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

Le centre de sécurité regroupe quatre thèmes principaux qui partagent les mêmes attributs d'interface utilisateur:

  • Voyant du centre de sécurité
  • Centre de sécurité sombre
  • Voyant Réglages rapides du Centre de sécurité
  • Réglages rapides du Centre de sécurité (mode sombre)

Les thèmes du centre de sécurité contiennent des couleurs par défaut. Les couleurs principales de l'interface utilisateur sont dessinées des couleurs système Android et peut s'adapter automatiquement personnalisation de la couleur Android. Par défaut, ces couleurs s'adaptent à la Styles Material You sur Android.

Vous pouvez modifier les couleurs du Centre de sécurité en remplaçant leurs valeurs.

Couleur de l'interface utilisateur du Centre de sécurité Nom de l'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 la 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 indiquant le niveau de gravité du problème

Le centre de sécurité communique la gravité du problème à l'aide d'un système de couleurs pour les feux tricolores:

  • Vert pour les problèmes d'information et l'état OK
  • Jaune pour les recommandations
  • Rouge en cas de problème grave
  • Gris pour une absence d'informations

Par défaut, ces couleurs sont extraites de la palette de couleurs de Google Material. Mer est recommandé de conserver ces couleurs de base, mais vous pouvez utiliser différentes nuances la palette de vert, jaune et rouge.

Ces attributs de couleur sont utilisés pour associer des articles de couleur sévère dans le Interface utilisateur du centre de sécurité, y compris les icônes, les boutons, la numérisation et la modification de l'état des animations. La modification de ces couleurs entraîne la modification des couleurs de tous les éléments. Par exemple, modifier @color/sc_status_info_{light,dark} modifie la couleur d'arrière-plan à la fois dans image d'état statique et animation en arrière-plan pendant une analyse.

Le thème "Réglages rapides" du centre de sécurité utilise les couleurs du mode sombre, que les paramètres l'appareil est configuré en mode sombre.

Gravité Élément d'interface utilisateur Nom d'attribut ou de ressource Couleur par défaut
Informations (vert) Bouclier d'état ?attr/colorScStatusInfo Clair: vert 600 (#1e8e3e)
Sombre: vert 500 (#34a853)
Conteneur du bouclier d'état ?attr/colorScStatusBackgroundInfo Clair: 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 Green 300 (#81c995)
Recommandation (jaune) Bouclier d'état ?attr/colorScStatusRecommend Clair: jaune 600 (#f9ab00)
Sombre: jaune 500 (#fbbc04)
Conteneur du bouclier d'état ?attr/colorScStatusBackgroundRecommend Clair: jaune 100 (#feefc3)
Sombre: colorSurfaceVariant
Icône ?attr/colorScIconRecommend Yellow 500 (#fbbc04)
Bouton d'action principale @color/safety_center_button_recommend Yellow 400 (#fcc934)
Bouton d'action secondaire @color/safety_center_outline_button_recommend Yellow 300 (#fdd663)
Avertissement (rouge) Bouclier d'état ?attr/colorScStatusWarn Clair: rouge 600 (#d93025)
Sombre: rouge 500 (#ea4335)
Conteneur du bouclier d'état ?attr/colorScStatusBackgroundWarn Clair: rouge 100 (#fad2cf)
Sombre: colorSurfaceVariant
Icône ?attr/colorScIconWarn Red 500 (#ea4335)
Bouton d'action principale @color/safety_center_button_warn Red 400 (#ee675c)
Bouton d'action secondaire @color/safety_center_outline_button_warn Rouge 300 (#f28b82)
Aucune recommandation (gris) Icône ?attr/colorScIconNull Gray 600 (#80868b)

Sous Android 14, des ressources de couleur 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 Non modifié
@color/sc_status_warn_light Rouge 600 Non modifié
@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 Non modifié
@color/sc_status_background_recommend_light Jaune 100 Non modifié
@color/sc_status_background_warn_light Rouge 100 Non modifié
@color/sc_status_background_info_dark sc_surface_variant_dark Non modifié
@color/sc_status_background_recommend_dark sc_surface_variant_dark Non modifié
@color/sc_status_background_warn_dark sc_surface_variant_dark Non modifié
@color/sc_icon_info_light Vert 500 Non modifié
@color/sc_icon_recommend_light Jaune 500 Non modifié
@color/sc_icon_warn_light Rouge 500 Non modifié
@color/sc_icon_null_light Gris 600 Non modifié
@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 Non disponibles Gris 900 #202124

Couleurs de l'interface utilisateur

État vert

Green Shield

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

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

#34A853 (vert/500)
Thème sombre
#34A853 (vert/500)
Bouton "Scanner"

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

#1B1C17 (TextColorPrimary) #46483B (TextColorSecond)

É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 jaune des paramètres

#FBBC04 (jaune/500)
Thème sombre
#FBBC04 (jaune/500)
Bouton "Scanner"

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

#1B1C17 (TextColorPrimary) #46483B (TextColorSecond)

État rouge

Red Shield

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

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

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

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

#1B1C17 (TextColorPrimary) #46483B (TextColorSecond)

Polices et apparence du texte

Les polices du Centre de sécurité et l'apparence du texte sont basées sur le texte Android par défaut et doit hériter de toutes les modifications apportées à une famille de polices, à l'épaisseur déjà configurées par les OEM dans leurs styles à l'échelle de l'appareil. Centre de sécurité l'apparence du texte peut être remplacée directement à l'aide de RRO.

Apparence du texte du centre de sécurité Base de l'appareil par défaut Couleur Taille Poids
TextAppearance.SafetyCenter.Headline TextAppearance.DeviceDefault.Headline android:textColorPrimary Variable Standard
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 Variable 14 sp/20 sp ou
16 sp/24 sp
Moyenne
TextAppearance.SafetyCenter.Body TextAppearance.DeviceDefault.Small android:textColorSecondary 14 sp/20 sp Standard

Espacement et styles

Le centre de sécurité utilise un ensemble de valeurs de marge intérieure par défaut de manière universelle pour les marges intérieures et marges. Modifiez la densité d'informations du centre de sécurité en remplaçant l'espacement valeurs.

Nom de la ressource Valeur par défaut
@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

Vous pouvez personnaliser l'arrondi des angles des fiches du centre de sécurité. Un angle Le rayon est utilisé pour les boutons et trois dimensions d'angle sont utilisées pour le centre de sécurité. cartes:

Nom de la ressource Valeur par défaut
@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

bloc Réglages rapides

Le Centre de sécurité est accessible depuis le bloc "Réglages rapides" intégré au Module PermissionController. Le bloc "Réglages rapides" réutilise une partie de l'interface utilisateur des écrans du Centre de sécurité pour que les superpositions fonctionnent: