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

การออกแบบ 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