การออกแบบ Material You เปิดตัวพร้อมกับรุ่น Android 12 และขยายการให้บริการใน Android 13
หน้านี้มุ่งเน้นที่การอัปเดตตรรกะ Material You เพื่อช่วยให้คุณผสานรวมเข้ากับการรองรับสีแบบไดนามิกที่สมบูรณ์ยิ่งขึ้น
ชุดสีโทนสีแบบไดนามิก
ตั้งแต่ Android 12 เป็นต้นไป ระบบจะรองรับชุดสีแบบไดนามิกต่อไปนี้
แต่ละสีจะประกอบด้วยชุดสี 13 สีซึ่งมีค่าความสว่างต่างๆ ที่กำหนดไว้ตามที่อธิบายใน R.color
แต่มีโทนสีและค่าความโครมาที่ไม่ได้กำหนดไว้ซึ่งระบบ Android สร้างแบบไดนามิกได้ในระหว่างรันไทม์
สไตล์ธีมสำหรับสีแบบไดนามิก
ตั้งแต่ Android 13 เป็นต้นไป ระบบจะรองรับธีม 6 สไตล์ที่แตกต่างกันด้วยอัลกอริทึมสีแบบไดนามิกที่หลากหลาย ซึ่งจะยังคงตอบสนองความต้องการของนักพัฒนาแอปและตรงกับสิ่งที่ผู้ใช้คาดหวัง รายการต่อไปนี้แสดงเพื่อสร้างสีแบบไดนามิก 65 สีที่แอปใช้
TONAL_SPOT
เป็นพาเล็ตสีกลางที่ใช้สีsystem_accent3_0
คล้ายกับสีsystem_accent1_0
(ยกมาจากรุ่น Android 12 และปรับเล็กน้อย)VIBRANT
เป็นชุดสีที่สดใสซึ่งผสมผสานการเปลี่ยนสีเล็กน้อยอย่างกลมกลืนEXPRESSIVE
เป็นชุดสีที่สดใสซึ่งจับคู่สีไฮไลต์ที่แปลกใหม่และคาดไม่ถึงเข้าด้วยกันSPRITZ
เป็นชุดสีที่มีความสว่างต่ำซึ่งสร้างสีสันที่นุ่มนวลระหว่างสีต่างๆRAINBOW
ใช้ทั้งสีสันและพื้นผิวที่เป็นกลางเพื่อสร้างประสบการณ์สีที่ละเอียดยิ่งขึ้นให้แก่ผู้ใช้- ไม่แนะนำให้ใช้กับดึงสีจากวอลเปเปอร์ แต่ควรใช้กับธีมสีแบบคงที่แทน
FRUIT_SALAD
มีสี 2 สีเพื่อให้ผู้ใช้แสดงออกมากขึ้น- ตัวเลือกนี้ไม่แนะนำให้ใช้กับการดึงสีตามวอลเปเปอร์ และควรใช้กับธีมสีคงที่แทน
ธีมของระบบจะกำหนดโดยการตั้งค่าเดียวกันกับใน Android 12 ซึ่งก็คือ Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
สำหรับ Android 13 จะใช้คีย์เพียง 1 รายการใน JSON ที่ส่งสีต้นทางเพื่อสร้างชุดสี 65 ชุด ดังนี้
{
"android.theme.customization.system_palette":"746BC1"
}
สไตล์ธีมเริ่มต้นคือ TONAL_SPOT
แต่คุณเลือกระบุสไตล์ธีมอื่นด้วยคีย์เพิ่มเติมใน JSON ด้านบนได้ ดังนี้
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
การผสานรวมสีแบบเปลี่ยนอัตโนมัติ
ดูหลักเกณฑ์เกี่ยวกับการผสานรวมสีแบบไดนามิกได้ที่การผสานรวมการออกแบบ Material You
คำถามที่พบบ่อย
API ชุดสีแบบไดนามิกประกอบด้วยอะไรบ้าง
แพลตตินั่มโทนสีมี 5 รูปแบบ ได้แก่
ชุดสีแต่ละชุดมีค่าสี 13 ค่าที่ลงท้ายด้วยดัชนี 0, 10, 50, 100, 200, 300, 400, 500, 600, 700, 800, 900 และ 1000
API ที่ได้คือชุดค่าผสมของชื่อชุดสีและลงท้ายด้วยดัชนี เช่น
R.color#system_accent1_10
พาเลตโทนสีแบบไดนามิกสร้างขึ้นอย่างไร
ชุดสีโทนไดนามิกต้องสร้างจากสีต้นทางสีเดียวที่ควรมาจากวอลเปเปอร์โดยใช้ com.android.systemui.monet.ColorScheme#getSeedColors
ซึ่งจะให้สีต้นทางที่ถูกต้องหลายสี หากสีที่ระบุไม่เป็นไปตามข้อกำหนดของสีต้นทาง สีต้นทางสีเดียวควรใช้ค่า 0xFF1B6EF3