สีแบบเปลี่ยนอัตโนมัติ

การออกแบบ 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 ที่ได้จะรวมชื่อของโทนสีไว้ด้วยกัน โดยลงท้ายด้วย index เช่น R.color#system_accent1_10

พาเลตโทนสีแบบไดนามิกสร้างขึ้นอย่างไร

ต้องสร้างชุดสีแบบไดนามิกจากสีต้นทางสีเดียวที่ควรมาจากวอลเปเปอร์โดยใช้ com.android.systemui.monet.ColorScheme#getSeedColors ซึ่งจะให้สีต้นทางที่ถูกต้องหลายสี หากสีที่ระบุไม่เป็นไปตามข้อกำหนดของสีต้นทาง สีต้นทางสีเดียวควรใช้ค่า 0xFF1B6EF3