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

ดีไซน์ Material You เปิดตัวพร้อมกับ Android 12 และขยายการใช้งานใน Android 13

หน้านี้มุ่งเน้นที่การอัปเดตตรรกะของ Material You เพื่อช่วยให้คุณผสานรวม กับการรองรับสีแบบไดนามิกที่สมบูรณ์ยิ่งขึ้น

ชุดสีโทนสีแบบไดนามิก

ตั้งแต่ Android 12 เป็นต้นไป ระบบจะรองรับชุดสีแบบโทนสี แบบไดนามิกต่อไปนี้

แต่ละสีประกอบด้วยชุดสี 13 สีที่มีค่าความสว่างต่างๆ ที่กำหนดไว้ตามที่อธิบายไว้ใน R.color แต่มีค่า Hue และ Chroma ที่ไม่ได้กำหนดไว้ซึ่งระบบ 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