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

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

ระบบสร้างจานสีแบบไดนามิกได้อย่างไร

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