Skip to content

Most visited

Recently visited

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, который ссылается на ресурс темы. Этот атрибут изменяет тему для элемента и любых дочерних элементов, что можно использовать для изменения цветовых палитр темы в определенной области интерфейса.

This site uses cookies to store your preferences for site-specific language and display options.

Get the latest Android developer news and tips that will help you find success on Google Play.

* Required Fields

Hooray!

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

Browse this site in ?

You requested a page in , but your language preference for this site is .

Would you like to change your language preference and browse this site in ? If you want to change your language preference later, use the language menu at the bottom of each page.

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.

Take a short survey?
Help us improve the Android developer experience. (Dec 2017 Android Platform & Tools Survey)