emptinessandform
@emptinessandform

Как наилучшим образом обеспечить совместимость при использовании Material Design?

Я прочитал что существуют вспомогательные библиотеки v7 которые обеспечивают обратную совместимость в плоть до 7й версии API. Т.е. я могу создавать приложения 27 версии, использовать библиотеку v7 и все мои приложения будут работать до 7й версии API?
Так же например в документации android в разделе про Material Design -> Обеспечение совместимости, для обеспечения совместимости предлагается использовать альтернативные стили:

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

Т.е. я могу использовать api21 и выше, а для старых версий создавать альтернативные лэйауты? и тогда не надо использовать библиотеку v7?

Да и как вообще поступают на практике?
  • Вопрос задан
  • 93 просмотра
Решения вопроса 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
cуществуют вспомогательные библиотеки v7 которые обеспечивают обратную совместимость в плоть до 7й версии API. Т.е. я могу создавать приложения 27 версии, использовать библиотеку v7 и все мои приложения будут работать до 7й версии API?

Уже нет
Some of the Support Library packages have package names to indicate the minimum level of the API they originally supported, using a v# notation, such as the support-v4 package. Starting with Support Library version 26.0.0 (released in July 2017), the minimum supported API level has changed to Android 4.0 (API level 14) for all support library packages. For this reason, when working with any recent release of the support library, you should not assume that the the v# package notation indicates a minimum API support level. This change in recent releases also means that library packages with the v4 and v7 are essentially equivalent in the minimum level of API they support. For example, the support-v4 and the support-v7 package both support a minimum API level of 14, for releases of the Support Library from 26.0.0 and higher.

Но это не столь критично, потому что ниже четвёрки сейчас поддерживать что-то не особо имеет смысл.
Тем не менее, библиотека поддержки нужна для облегчения работы. Чаще всего на практике её используют. В ней куча полезных виджетов и других классов(например, фрагменты нужно использовать именно из неё, из пакета android.support.v4.app.
values-*, drawable-* и так далее тоже используют, это бывает полезно.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы