Material You design был запущен в версии Android 12 и расширен в Android 13.
На этой странице основное внимание уделяется обновлениям логики Material You, которые помогут вам интегрироваться с более широкой поддержкой динамического цвета.
Динамические цветовые тональные палитры
Начиная с Android 12, поддерживаются следующие динамические цветовые тональные палитры:
Каждый из них состоит из набора из 13 цветов с определенными различными значениями яркости, как описано в R.color
, но с неопределенными значениями оттенка и цветности, которые могут динамически генерироваться системой Android во время выполнения.
Стили тем для динамического цвета
Начиная с Android 13, поддерживаются шесть различных стилей тем с вариациями алгоритма динамического цвета, которые соответствуют потребностям разработчиков и ожиданиям контрастности. Они перечислены для генерации 65 динамических цветов, используемых приложениями:
-
TONAL_SPOT
— это палитра средней яркости, в которой используется цветsystem_accent3_0
, аналогичный цветуsystem_accent1_0
(перенесенный из версии Android 12 и немного измененный). -
VIBRANT
— это яркая палитра, в которой гармонично сочетаются тонкие переходы между цветами. -
EXPRESSIVE
— это яркая палитра, в которой сочетаются неожиданные и уникальные акценты цветов. -
SPRITZ
— это палитра с низкой яркостью, которая создает мягкую размытость между цветами. -
RAINBOW
использует как хроматические акценты, так и нейтральные поверхности, чтобы создать для пользователей более утонченное цветовое восприятие.- НЕ РЕКОМЕНДУЕТСЯ использовать с извлечением цвета на основе обоев, вместо этого его следует использовать со статическими цветовыми темами.
-
FRUIT_SALAD
предоставляет два цвета тона, чтобы дать пользователям больше выразительности.- НЕ РЕКОМЕНДУЕТСЯ использовать с извлечением цвета на основе обоев, вместо этого его следует использовать со статическими цветовыми темами.
Системная тема управляется тем же параметром, что и в Android 12, а именно Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. Для Android 13 требуется только один ключ в JSON, который отправляет исходный цвет для генерации 65 цветовых палитр:
{
"android.theme.customization.system_palette":"746BC1"
}
Стиль темы по умолчанию — TONAL_SPOT
, но вы можете при желании указать один из других стилей темы с помощью дополнительного ключа с помощью JSON выше:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Интеграция динамического цвета
Рекомендации по интеграции динамического цвета см. в разделе «Интеграция разрабатываемого вами материала» .
Часто задаваемые вопросы (FAQ)
Что включает в себя API динамической тоновой палитры?
Существует пять тональных палитр:
Каждая тональная палитра имеет 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
.
Material You design был запущен в версии Android 12 и расширен в Android 13.
На этой странице основное внимание уделяется обновлениям логики Material You, которые помогут вам интегрироваться с более широкой поддержкой динамического цвета.
Динамические цветовые тональные палитры
Начиная с Android 12, поддерживаются следующие динамические цветовые тональные палитры:
Каждый из них состоит из набора из 13 цветов с определенными различными значениями яркости, как описано в R.color
, но с неопределенными значениями оттенка и цветности, которые могут динамически генерироваться системой Android во время выполнения.
Стили тем для динамического цвета
Начиная с Android 13, поддерживаются шесть различных стилей тем с вариациями алгоритма динамического цвета, которые соответствуют потребностям разработчиков и ожиданиям контрастности. Они перечислены для генерации 65 динамических цветов, используемых приложениями:
-
TONAL_SPOT
— это палитра средней яркости, в которой используется цветsystem_accent3_0
, аналогичный цветуsystem_accent1_0
(перенесенный из версии Android 12 и немного измененный). -
VIBRANT
— это яркая палитра, в которой гармонично сочетаются тонкие переходы между цветами. -
EXPRESSIVE
— это яркая палитра, в которой сочетаются неожиданные и уникальные акценты цветов. -
SPRITZ
— это палитра с низкой яркостью, которая создает мягкую размытость между цветами. -
RAINBOW
использует как хроматические акценты, так и нейтральные поверхности, чтобы создать для пользователей более утонченное цветовое восприятие.- НЕ РЕКОМЕНДУЕТСЯ использовать с извлечением цвета на основе обоев, вместо этого его следует использовать со статическими цветовыми темами.
-
FRUIT_SALAD
предоставляет два цвета тона, чтобы дать пользователям больше выразительности.- НЕ РЕКОМЕНДУЕТСЯ использовать с извлечением цвета на основе обоев, вместо этого его следует использовать со статическими цветовыми темами.
Системная тема управляется тем же параметром, что и в Android 12, а именно Settings.Secure.THEME_CUSTOMIZATION_OVERLAY_PACKAGES
. Для Android 13 требуется только один ключ в JSON, который отправляет исходный цвет для генерации 65 цветовых палитр:
{
"android.theme.customization.system_palette":"746BC1"
}
Стиль темы по умолчанию — TONAL_SPOT
, но вы можете при желании указать один из других стилей темы с помощью дополнительного ключа с помощью JSON выше:
{
"android.theme.customization.system_palette":"746BC1"
"android.theme.customization.theme_style":"EXPRESSIVE"
}
Интеграция динамического цвета
Рекомендации по интеграции динамического цвета см. в разделе «Интеграция разрабатываемого вами материала» .
Часто задаваемые вопросы (FAQ)
Что включает в себя API динамической тоновой палитры?
Существует пять тональных палитр:
Каждая тональная палитра имеет 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
.