Màu động

Thiết kế Material You được ra mắt cùng với bản phát hành Android 12 và được mở rộng với Android 13.

Trang này tập trung vào các nội dung cập nhật về logic Material You để giúp bạn tích hợp với tính năng hỗ trợ màu động phong phú hơn.

Bảng sắc độ màu linh động

Kể từ Android 12, các bảng màu sắc động sau đây được hỗ trợ:

Mỗi nhóm bao gồm một bộ 13 màu với nhiều giá trị độ chói được xác định như mô tả tại R.color, nhưng với các giá trị sắc độ và sắc độ không xác định có thể được hệ thống Android tạo động trong thời gian chạy.

Kiểu giao diện cho màu động

Kể từ Android 13, 6 kiểu giao diện khác nhau sẽ được hỗ trợ với các biến thể thuật toán màu động nhằm duy trì nhu cầu của nhà phát triển và đối chiếu kỳ vọng của họ. Dưới đây là các giá trị được liệt kê để tạo 65 màu động mà các ứng dụng sử dụng:

  • TONAL_SPOT là bảng màu có độ sống động trung bình, sử dụng màu system_accent3_0 tương tự như màu system_accent1_0 (được chuyển từ bản phát hành Android 12 và điều chỉnh một chút).
  • VIBRANT là một bảng màu sống động, kết hợp hài hòa sự thay đổi tinh tế giữa các màu.
  • EXPRESSIVE là bảng màu có độ sống động cao giúp kết hợp các màu sắc độc đáo và bất ngờ với nhau.
  • SPRITZ là một bảng màu có độ sống động thấp, tạo ra hiệu ứng phủ màu mềm mại giữa các màu.
  • RAINBOW sử dụng cả điểm nhấn màu sắc và bề mặt trung tính để tạo ra trải nghiệm màu sắc tinh tế hơn cho người dùng.
    • Bạn KHÔNG NÊN sử dụng chế độ này với hình thức trích xuất màu dựa trên hình nền, mà nên dùng với giao diện màu tĩnh.
  • FRUIT_SALAD cung cấp hai tông màu để giúp người dùng thể hiện nhiều cảm xúc hơn.
    • Bạn KHÔNG NÊN sử dụng tính năng này với tính năng trích xuất màu dựa trên hình nền mà nên sử dụng với giao diện màu tĩnh.

Giao diện hệ thống được điều khiển bằng chế độ cài đặt giống như trong Android 12, đó là Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES. Đối với Android 13, bạn chỉ cần một khoá trên JSON để gửi màu nguồn nhằm tạo 65 bảng màu:

{
    "android.theme.customization.system_palette":"746BC1"
}

Kiểu giao diện mặc định là TONAL_SPOT, nhưng bạn có thể chỉ định một trong các kiểu giao diện khác bằng một khoá bổ sung với JSON ở trên:

{
    "android.theme.customization.system_palette":"746BC1"
    "android.theme.customization.theme_style":"EXPRESSIVE"
}

Tích hợp màu động

Để biết nguyên tắc tích hợp màu động, hãy xem phần Tích hợp Material You Design.

Câu hỏi thường gặp

API bảng màu sắc độ động bao gồm những gì?

Làm cách nào để tạo bảng sắc độ động?

Bạn phải tạo bảng sắc độ động từ một màu nguồn duy nhất được lấy từ hình nền bằng cách sử dụng com.android.systemui.monet.ColorScheme#getSeedColors. Phương thức này cung cấp nhiều màu nguồn hợp lệ. Nếu không có màu nào được cung cấp đáp ứng yêu cầu về màu nguồn, thì màu nguồn duy nhất phải sử dụng giá trị 0xFF1B6EF3.