Перейти к содержанию

Часто посещаемые

Недавно просмотренные

navigation

Использование темы Material Design

Новая тема Material Design предоставляет следующие возможности:

Внешний вид темы Material Design можно настроить с учетом фирменного стиля, воспользовавшись для этого цветовой палитрой. Можно изменить оттенок строки действий и строки состояния, используя атрибуты темы, как показано на рисунке 3.

Системные виджеты отличаются новым дизайном и анимацией отклика на касание. В своем приложении вы можете настроить цветовую палитру, анимацию отклика на касание и переходы между операциями.

Тема Material Design задается следующими параметрами:

Список доступных стилей Material Design см. в справке по API для R.style.

Рисунок 1. Тема Material Design в темных тонах.

Рисунок 2. Тема Material Design в светлых тонах.


Примечание. Темы Material Design доступны только в ОС Android 5.0 (уровень API 21) и более поздних версий. Во вспомогательных библиотеках v7 представлены темы со стилями Material Design для некоторых виджетов. Эти библиотеки также обеспечивают поддержку настройки цветовой палитры. Дополнительные сведения см. на странице Обеспечение совместимости.

Настройка цветовой палитры

Для настройки основных цветов в соответствии с фирменным стилем определите настраиваемые цвета с помощью атрибутов темы при наследовании от темы Material Design:

<resources>
  <!-- inherit from the material theme -->
  <style name="AppTheme" parent="android:Theme.Material">
    <!-- Main theme colors -->
    <!--   your app branding color for the app bar -->
    <item name="android:colorPrimary">@color/primary</item>
    <!--   darker variant for the status bar and contextual app bars -->
    <item name="android:colorPrimaryDark">@color/primary_dark</item>
    <!--   theme UI controls like checkboxes and text fields -->
    <item name="android:colorAccent">@color/accent</item>
  </style>
</resources>

Рисунок 3. Настройка темы Material Design.

Настройка строки состояния

В теме Material Design можно с легкостью настроить строку состояния, указав нужный цвет в соответствии с фирменным стилем и задав достаточную контрастность для отображения белых значков состояния. Чтобы установить настраиваемый цвет для строки состояния, воспользуйтесь атрибутом android:statusBarColor при наследовании темы Material Design. По умолчанию параметр android:statusBarColor наследует значение android:colorPrimaryDark.

Кроме того, можно самостоятельно разместить элемент за строкой состояния. Например, если требуется наложить прозрачную строку состояния поверх фотографии, применив еле уловимый темный градиент, чтобы были видны белые значки состояния. Для этого задайте для атрибута android:statusBarColor значение @android:color/transparent и настройте флаги окна требуемым образом. Также можно воспользоваться методом Window.setStatusBarColor() для применения анимации или эффекта постепенного исчезания.

Примечание. Строка состояния почти всегда должна иметь четкую границу, отделяющую ее от основной панели инструментов, за исключением случаев, когда за этими панелями от края и до края экрана отображается большое количество изображений или мультимедийный контент, а также в случае, когда вы используете градиент, чтобы обеспечить видимость значков.

При настройке панели навигации и строки состояния сделайте их прозрачными либо измените только строку состояния. Во всех остальных случаях панель навигации должна оставаться черной.

Отдельные представления темы

Элементы в определениях макета XML могут задавать атрибут android:theme, который ссылается на ресурс темы. Этот атрибут изменяет тему для элемента и любых дочерних элементов, что можно использовать для изменения цветовых палитр темы в определенной области интерфейса.

На этом сайте используются файлы cookie. Они нужны, чтобы сохранять ваши языковые настройки и параметры отображения страниц.

Хотите следить за новостями о разработке для Android и получать советы по созданию приложений для Google Play? Подпишитесь на нашу рассылку!

*Поля, обязательные для заполнения

Подписка оформлена.

Следите за новостями от Google Developers в WeChat

Изменить язык контента на этом сайте на ?

Вы хотите перевести страницу на , но в ваших языковых настройках для этого сайта указан другой язык ().

Изменить язык контента на ? Вернуться к прежнему языку или выбрать другой можно будет в меню внизу любой страницы.

Для этого класса требуется API уровня  и выше

Этот документ скрыт, так как для него и другой документации выбран API уровня . Изменить настройки можно над меню слева.

Узнать о том, какой уровень API следует указывать для своего приложения, можно здесь.

Take a short survey?
Help us improve the Android developer experience. (April 2018 — Developer Survey)