自定義安全中心 UI

安全中心 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}會變更掃描期間靜態影像和背景動畫中的背景顏色。

無論裝置是否設定為深色模式,安全中心快​​速設定主題都使用深色模式顏色。

嚴重性使用者介面元素屬性或資源名稱預設顏色
訊息(綠色)狀態盾?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

使用者介面顏色

綠色狀態

綠盾

#1E8E3E(綠色/600)
深色主題
#34A853(綠色/500)
綠色貨櫃

#CEEAD6(綠色/100)
深色主題
#474741
綠色設定圖示

#34A853(綠色/500)
深色主題
#34A853(綠色/500)
掃描按鈕

綠色按鈕
#5BB974(綠色/400)
標題字幕

#1B1C17(主要文字顏色) #46483B(文字顏色次要)

黃州

黃盾

#F9AB00 (黃色/600)
深色主題
#FBBC04(黃色/500)
黃色容器

#FEEFC3(黃色/100)
深色主題
#474741(黃色/500)
黃色設定圖標

#FBBC04(黃色/500)
深色主題
#FBBC04(黃色/500)
掃描按鈕

黃色按鈕
#5BB974(黃色/400)
標題字幕

#1B1C17(主要文字顏色) #46483B(文字顏色次要)

紅色狀態

紅盾

#D93025(紅色/600)
深色主題
#EA4335(紅色/500)
紅色容器

#FAD2CF(紅/100)
深色主題
#474741
紅色設定圖標

#EA4335(紅色/500)
深色主題
#EA4335(紅色/500)
解除安裝按鈕

紅色按鈕
#EE675C(紅色/400)
標題字幕

#1B1C17(主要文字顏色) #46483B(文字顏色次要)

字體和文字外觀

安全中心字體和文字外觀基於 Android 預設文字外觀,並且應繼承 OEM 已為其裝置範圍樣式配置的字體系列、粗細和其他屬性的任何變更。可以使用 RRO 直接覆蓋安全中心文字外觀。

安全中心文字外觀設備預設底座顏色尺寸重量
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 元件,因此可疊加功能可以正常運作: