Обеспечение совместимости

Содержание этого урока

  1. Определение альтернативных стилей
  2. Предоставление альтернативных макетов
  3. Использование вспомогательной библиотеки
  4. Проверка версии системы

См. также

Некоторые возможности Material Design, такие как «материальные» темы и настраиваемые переходы между операциями, доступны только в Android 5.0 (уровень API 21) и более поздних версиях. Однако приложения можно разработать таким образом, чтобы эти функции были доступны при запуске на устройствах, поддерживающих Material Design, сохранив при этом совместимость приложений с устройствами под управлением более ранних выпусков Android.

Определение альтернативных стилей


Приложение можно настроить так, чтобы тема Material Design использовалась при работе на поддерживающих эту технологию устройствах, а при запуске приложения на устройствах с более ранними версиями Android происходило переключение на старые варианты тем. Ниже описан порядок такой настройки.

  1. В файле res/values/styles.xml определите тему, наследующую более старой теме (например, Holo).
  2. В файле res/values-v21/styles.xml определите тему с таким же именем, наследующую теме Material Design.
  3. В файле манифеста укажите эту тему как тему приложения.

Примечание. Если в приложении используется тема Material Design, но отсутствует определенная описанным способом альтернативная тема, это приложение не будет запускаться на устройствах под управлением версий Android, предшествующих 5.0.

Предоставление альтернативных макетов


Если в создаваемых согласно рекомендациям Material Design макетах отсутствуют новые атрибуты XML, представленные в Android 5.0 (уровень API 21), такие макеты поддерживаются в предыдущих версиях ОС Android. В противном случае необходимо предоставить альтернативные макеты. Можно также предоставить альтернативные макеты для настройки внешнего вида приложения в более ранних версиях Android.

Создайте файлы макета для Android 5.0 (уровень API 21) в res/layout-v21/, а также файлы альтернативного макета для более ранних версий Android (в res/layout/). Например,res/layout/my_activity.xml — это альтернативный макет для res/layout-v21/my_activity.xml.

Чтобы сделать код более компактным, определите стили в res/values/, измените стили в res/values-v21/ для новых API, а также используйте наследование стилей, определив основные стили вres/values/ и задав наследование из них в res/values-v21/.

Использование вспомогательной библиотеки


Вспомогательные библиотеки v7 r21 и более поздних версий включают следующие функции Material Design:

Системные виджеты

В темах Theme.AppCompat имеются стили Material Design для следующих виджетов:

Цветовая палитра

Чтобы получить стили Material Design и настроить цветовую палитру с помощью вспомогательной библиотеки Android v7, примените одну из следующих тем Theme.AppCompat:

 

Списки и карточки

Виджеты RecyclerView и CardView имеются в более ранних версиях Android. Они находятся во вспомогательной библиотеке Android v7, и для них существуют следующие ограничения.

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

Зависимости

Чтобы воспользоваться этими возможностями в версиях Android, предшествующих 5.0 (уровень API 21), включите в свой проект вспомогательную библиотеку Android v7 как зависимость Gradle:

 

Проверка версии системы


Следующие функции доступны только в Android 5.0 (уровень API 21) и более поздних версиях:

  • переходы;
  • реакция на касание;
  • анимации появления;
  • анимации по траектории;
  • векторные элементы;
  • тонирование элементов дизайна.

Чтобы обеспечить совместимость приложения с более ранними версиями Android, проверьте системный параметр version во время запуска, прежде чем вызвать API любой из этих функций:

 

Примечание. Чтобы указать версии Android, поддерживаемые вашим приложением, установите атрибуты android:minSdkVersion и android:targetSdkVersion в файле манифеста. Чтобы использовать функции Material Design, которые имеются в Android 5.0, задайте для атрибутаandroid:targetSdkVersion значение 21. Дополнительные сведения см. в руководстве по API <uses-sdk>.

Урок 7. Поддержание совместимости приложений с Material Design обновлено: Февраль 1, 2016 автором: admin

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

*
*
Website