รหัสสำหรับ UI ของศูนย์ความปลอดภัยอยู่ในไดเรกทอรี safetycenter
packages/modules/Permission/PermissionController/src/com/android/permissioncontroller/safetycenter/
ปรับแต่ง UI ของศูนย์ความปลอดภัยโดยใช้การวางซ้อนทรัพยากรรันไทม์ (RRO) ในโฟลเดอร์การวางซ้อน OEM ดูข้อมูลเกี่ยวกับ RRO ได้ที่เปลี่ยนค่าของทรัพยากรของแอปขณะรันไทม์
ธีมและสีของศูนย์ความปลอดภัย
ศูนย์ความปลอดภัยมีธีมหลัก 4 ธีมที่ใช้แอตทริบิวต์ UI เดียวกัน ได้แก่
- ไฟศูนย์ความปลอดภัย
- ศูนย์ความปลอดภัยในธีมมืด
- ไฟแสดงการตั้งค่าด่วนของศูนย์ความปลอดภัย
- การตั้งค่าด่วนของศูนย์ความปลอดภัยแบบมืด
ธีมศูนย์ความปลอดภัยมีสีเริ่มต้น สีหลักของ UI ดึงมาจากสีของระบบ Android และสามารถปรับให้เข้ากับการปรับแต่งสี Android ทั่วไปของ OEM โดยอัตโนมัติ โดยค่าเริ่มต้น สีเหล่านี้จะปรับตาม การจัดรูปแบบของ Material You ใน Android
คุณเปลี่ยนสีของศูนย์ความปลอดภัยได้โดยการลบล้างค่า
สีของ 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 star 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) |
คอนเทนเนอร์ของ Shield สถานะ | ?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 |
Green 600 | สีเขียวเชิงความหมาย | #0E8435 |
@color/sc_status_recommend_light |
เหลือง 600 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_status_warn_light |
แดง 600 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_status_info_dark |
Green 500 | เขียว 400 | #5BB974 |
@color/sc_status_recommend_dark |
เหลือง 500 | เหลือง 400 | #FCC934 |
@color/sc_status_warn_dark |
Red 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 |
Green 500 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_icon_recommend_light |
Yellow 500 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_icon_warn_light |
แดง 500 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_icon_null_light |
เทา 600 | ไม่มีการเปลี่ยนแปลง | |
@color/sc_icon_info_dark |
Green 500 | เขียว 400 | |
@color/sc_icon_recommend_dark |
Yellow 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
สถานะสีเขียว
Green Shield | |
---|---|
#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) |
สถานะสีแดง
Red Shield | |
---|---|
#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 บรรทัด/28 บรรทัด | " |
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 |
คุณสามารถปรับแต่งรัศมีมุมของการ์ดศูนย์ความปลอดภัยได้ รัศมีมุมขนาดเดียวใช้กับปุ่ม และรัศมีมุม 3 ขนาดใช้กับการ์ดศูนย์ความปลอดภัย
ชื่อทรัพยากร | ค่าเริ่มต้น |
---|---|
@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 |
การ์ดการตั้งค่าด่วน
คุณเข้าถึงศูนย์ความปลอดภัยได้จากการ์ดการตั้งค่าด่วนที่ใช้ในโมดูล PermissionsController การ์ดการตั้งค่าด่วนจะใช้องค์ประกอบ UI บางส่วนจากหน้าจอศูนย์ความปลอดภัยซ้ำเพื่อให้โฆษณาซ้อนทับทำงานได้
- บริการการ์ดการตั้งค่าด่วน:
SafetyCenterQsTileService.kt
- กิจกรรมในการตั้งค่าด่วน:
SafetyCenterQsActivity.java