Руководство по функциям библиотеки поддержки,Руководство по функциям библиотеки поддержки,Руководство по функциям библиотеки поддержки,Руководство по функциям библиотеки поддержки

Примечание. С выпуском Android 9.0 (уровень API 28) появилась новая версия библиотеки поддержки AndroidX, которая является частью Jetpack . Библиотека AndroidX содержит существующую библиотеку поддержки, а также новейшие компоненты Jetpack.

Вы можете продолжать использовать библиотеку поддержки. Исторические артефакты (версии 27 и более ранних, упакованные как android.support.* ) останутся доступными в Google Maven. Однако разработка всех новых библиотек будет происходить в библиотеке AndroidX .

Мы рекомендуем использовать библиотеки AndroidX во всех новых проектах. Вам также следует рассмотреть возможность переноса существующих проектов на AndroidX.

Библиотеки поддержки предоставляют широкий спектр классов для создания приложений: от фундаментальных компонентов приложений до виджетов пользовательского интерфейса, обработки мультимедиа и компонентов телевизионных приложений. Многие из классов являются обратно совместимыми реализациями, но некоторые из них сами по себе являются новыми функциями.

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

Сведения о том, как добавить код библиотеки поддержки в проект разработки приложения, см. в разделе Настройка библиотеки поддержки . Информацию о том, как включить в проект определенные пакеты библиотек поддержки, см. в разделе Пакеты библиотек поддержки .

Компоненты приложения

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

  • Деятельность
    • ActivityCompat — включает обратную совместимую реализацию для последних ключевых функций действий, таких как разрешения во время выполнения и переходы анимации.
    • FragmentActivity — обеспечивает обратную совместимую реализацию действий для использования версий библиотеки поддержки API-интерфейсов Fragment и Loader .
    • AppCompatActivity — обеспечивает цветовые темы Material, оттенок виджетов и поддержку панели приложений для более ранних устройств. Для использования этого класса необходимо использовать темы Theme.AppCompat для единообразного визуального представления.
  • Fragment — предоставляет автономную реализацию класса Fragment платформы. Этот класс необходимо использовать с FragmentActivity .
  • ContextCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Context , включая поддержку разрешений, доступ к файлам и информацию о цвете.
  • IntentCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Intent , включая методы выбора и запуска определенных действий.
  • Loader — предоставляет статическую реализацию класса Loader платформы и является базовым классом для классов поддержки AsyncTaskLoader и CursorLoader .
  • Preference — этот класс и его подклассы предоставляют реализации пользовательского интерфейса настроек приложения с обратной совместимостью.
  • ContentResolverCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса ContentResolver , в частности метода query() с поддержкой отмены выполняемого запроса.

Пользовательский интерфейс

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

Контейнеры макетов общего назначения

Эти классы поддержки предоставляют контейнеры пользовательского интерфейса, которые можно адаптировать для различных вариантов использования при проектировании.

  • RecyclerView — создает макет для отображения длинных списков, используя стратегию, позволяющую избежать высокого потребления памяти. Этот класс позволяет вам создать ограниченное окно просмотра для более крупного набора данных, избегая таким образом потребления большого объема памяти при отображении списка. Дополнительные сведения об использовании RecyclerView см. в руководстве Recycler View .
  • ViewPager — предоставляет макет, позволяющий пользователю перелистывать страницы данных влево и вправо.
  • GridLayout — предоставляет макет с дочерними элементами в прямоугольной сетке, поддерживая произвольные промежутки смежных ячеек и гибкое распределение пространства. Этот класс предоставляет обратно совместимую версию класса GridLayout , представленного в Android 4.0 (уровень API 14).
  • PercentFrameLayout и PercentRelativeLayout — предоставляют макеты, поддерживающие процентные размеры и поля для дочерних представлений и содержимого.

Примечание. Классы ViewPager , RecyclerView , PercentFrameLayout и PercentRelativeLayout доступны только из библиотек поддержки.

Контейнеры макета специального назначения

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

  • DrawerLayout — создает макет, который позволяет вытягивать интерактивные виды ящиков из края окна просмотра.
  • SlidingPaneLayout — предоставляет горизонтальный многопанельный макет для использования на верхнем уровне пользовательского интерфейса приложения для создания макетов, которые можно плавно адаптировать к экранам разных размеров, расширяя на больших экранах и сворачивая для соответствия на экранах меньшего размера.
  • NestedScrollView — макет прокрутки, который поддерживает вложение других представлений прокрутки, позволяя создавать списки с элементами, содержащими дополнительные дочерние списки. Эти вложенные списки могут содержать элементы, которые прокручиваются по горизонтали или вертикали отдельно от родительского списка.
  • SwipeRefreshLayout — предоставляет макет для поддержки обновления данных для списков или другого макета с помощью жеста пальцем.

Представления, диалоговые окна и виджеты

Библиотеки поддержки предоставляют ряд классов для отображения контента и элементов взаимодействия с пользователем в макете.

  • CardView — пользовательский класс библиотеки поддержки для создания карточек в стиле Material Design. Этот класс основан на FrameLayout с закругленными углами и тенью.
  • AppCompatDialogFragment — обеспечивает согласованное оформление диалогов путем расширения DialogFragment и использования AppCompatDialog .
  • NotificationCompat — обеспечивает поддержку новых стилей уведомлений с обратной совместимостью.
  • SearchView — предоставляет класс, позволяющий пользователю ввести поисковый запрос и отправить запрос поставщику поиска, который в первую очередь предназначен для использования в панели приложения.

Материальный дизайн

Библиотеки поддержки предоставляют ряд классов для реализации рекомендаций пользовательского интерфейса Material Design.

  • CoordinatorLayout — предоставляет контейнер верхнего уровня для макетов, включающий компоненты и поведение Material Design. Этот класс также можно использовать в качестве контейнера для конкретного взаимодействия с одним или несколькими дочерними представлениями.
  • AppBarLayout — обеспечивает реализацию многих функций прокрутки концепции панели приложений Material Design.
  • FloatingActionButton — создает плавающую кнопку для отображения продвигаемого действия особого типа. Этот элемент пользовательского интерфейса Material Design отображается в виде значка в кружке, плавающего над пользовательским интерфейсом приложения. Дополнительные сведения см. в разделе «Добавление плавающей кнопки действия» .
  • DrawerLayout — создает панель навигации — панель пользовательского интерфейса, на которой отображается главное меню навигации вашего приложения. Он появляется, когда пользователь проводит пальцем от левого края экрана или касается значка ящика на панели приложения. Дополнительные сведения см. в разделе Создание навигационного ящика .
  • TabLayout — предоставляет макет для отображения страниц с вкладками. Этот виджет предназначен для использования с классом ViewPager .
  • Snackbar — предоставляет виджет для отображения краткого отзыва об операции с помощью всплывающего окна Snackbar .

Графика

Пакет android.support.graphics.drawable обеспечивает поддержку векторных изображений . Используя векторные изображения, вы можете заменить несколько ресурсов PNG одним векторным изображением, определенным в XML.

VectorDrawableCompat обеспечивает поддержку векторных изображений на уровне API 9 и выше. AnimatedVectorDrawableCompat обеспечивает поддержку анимированных векторных изображений на уровне API 11 и выше.

Доступность

Пакет android.support.v4.view.accessibility предоставляет классы совместимости для реализации функций специальных возможностей, представленных на уровне API 14 и более поздних версиях, которые позволяют службам специальных возможностей наблюдать и идентифицировать взаимодействие пользователя с элементами, отображаемыми на экране.

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

Воспроизведение мультимедиа

Библиотека поддержки Android обеспечивает резервный перенос функций медиамаршрутизатора на устройства под управлением версий платформы до Android 4.1 (уровень API 16). Эти классы позволяют управлять воспроизведением мультимедиа на подключенных устройствах Android:

  • MediaRouter — позволяет приложениям управлять маршрутизацией медиаканалов и потоков от текущего устройства к внешним динамикам и целевым устройствам.
  • MediaControllerCompat — позволяет приложению взаимодействовать с текущим сеансом мультимедиа. С помощью этого механизма приложения могут предоставлять кнопки управления мультимедиа и отправлять в сеанс другие команды воспроизведения.
  • MediaSessionCompat — предоставляет интерфейс удаленного управления воспроизведением мультимедиа, позволяющий взаимодействовать с контроллерами мультимедиа, клавишами громкости, кнопками мультимедиа и элементами управления транспортировкой в ​​других приложениях или на отдельных устройствах.

ТВ-приложения

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

Носите приложения

Android SDK предоставляет библиотеки для поддержки часов. Эти библиотеки предоставляют приложениям функциональность, доступную пользователям, когда они носят часы.

Утилиты

Библиотека поддержки Android предлагает ряд функций, не встроенных в платформу. Эти библиотеки предлагают ряд утилит, которые могут использовать приложения.

,

Примечание. С выпуском Android 9.0 (уровень API 28) появилась новая версия библиотеки поддержки AndroidX, которая является частью Jetpack . Библиотека AndroidX содержит существующую библиотеку поддержки, а также новейшие компоненты Jetpack.

Вы можете продолжать использовать библиотеку поддержки. Исторические артефакты (версии 27 и более ранних, упакованные как android.support.* ) останутся доступными в Google Maven. Однако разработка всех новых библиотек будет происходить в библиотеке AndroidX .

Мы рекомендуем использовать библиотеки AndroidX во всех новых проектах. Вам также следует рассмотреть возможность переноса существующих проектов на AndroidX.

Библиотеки поддержки предоставляют широкий спектр классов для создания приложений: от фундаментальных компонентов приложений до виджетов пользовательского интерфейса, обработки мультимедиа и компонентов телевизионных приложений. Многие из классов являются обратно совместимыми реализациями, но некоторые из них сами по себе являются новыми функциями.

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

Сведения о том, как добавить код библиотеки поддержки в проект разработки приложения, см. в разделе Настройка библиотеки поддержки . Информацию о том, как включить в проект определенные пакеты библиотек поддержки, см. в разделе Пакеты библиотек поддержки .

Компоненты приложения

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

  • Деятельность
    • ActivityCompat — включает обратную совместимую реализацию для последних ключевых функций действий, таких как разрешения во время выполнения и переходы анимации.
    • FragmentActivity — обеспечивает обратную совместимую реализацию действий для использования версий библиотеки поддержки API-интерфейсов Fragment и Loader .
    • AppCompatActivity — обеспечивает цветовые темы Material, оттенок виджетов и поддержку панели приложений для более ранних устройств. Для использования этого класса необходимо использовать темы Theme.AppCompat для единообразного визуального представления.
  • Fragment — предоставляет автономную реализацию класса Fragment платформы. Этот класс необходимо использовать с FragmentActivity .
  • ContextCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Context , включая поддержку разрешений, доступ к файлам и информацию о цвете.
  • IntentCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Intent , включая методы выбора и запуска определенных действий.
  • Loader — предоставляет статическую реализацию класса Loader платформы и является базовым классом для классов поддержки AsyncTaskLoader и CursorLoader .
  • Preference — этот класс и его подклассы предоставляют реализации пользовательского интерфейса настроек приложения с обратной совместимостью.
  • ContentResolverCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса ContentResolver , в частности метода query() с поддержкой отмены выполняемого запроса.

Пользовательский интерфейс

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

Контейнеры макетов общего назначения

Эти классы поддержки предоставляют контейнеры пользовательского интерфейса, которые можно адаптировать для различных вариантов использования при проектировании.

  • RecyclerView — создает макет для отображения длинных списков, используя стратегию, позволяющую избежать высокого потребления памяти. Этот класс позволяет вам создать ограниченное окно просмотра для большего набора данных, избегая таким образом потребления большого объема памяти при отображении списка. Дополнительные сведения об использовании RecyclerView см. в руководстве Recycler View .
  • ViewPager — предоставляет макет, позволяющий пользователю перелистывать страницы данных влево и вправо.
  • GridLayout — предоставляет макет со своими дочерними элементами в прямоугольной сетке, поддерживая произвольные промежутки смежных ячеек и гибкое распределение пространства. Этот класс предоставляет обратно совместимую версию класса GridLayout , представленного в Android 4.0 (уровень API 14).
  • PercentFrameLayout и PercentRelativeLayout — предоставляют макеты, поддерживающие процентные размеры и поля для дочерних представлений и содержимого.

Примечание. Классы ViewPager , RecyclerView , PercentFrameLayout и PercentRelativeLayout доступны только из библиотек поддержки.

Контейнеры макета специального назначения

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

  • DrawerLayout — создает макет, который позволяет вытягивать интерактивные виды ящиков из края окна просмотра.
  • SlidingPaneLayout — предоставляет горизонтальный многопанельный макет для использования на верхнем уровне пользовательского интерфейса приложения для создания макетов, которые можно плавно адаптировать к экранам разных размеров, расширяя на больших экранах и сворачивая для соответствия на экранах меньшего размера.
  • NestedScrollView — макет прокрутки, который поддерживает вложение других представлений прокрутки, позволяя создавать списки с элементами, содержащими дополнительные дочерние списки. Эти вложенные списки могут содержать элементы, которые прокручиваются по горизонтали или вертикали отдельно от родительского списка.
  • SwipeRefreshLayout — предоставляет макет для поддержки обновления данных для списков или другого макета с помощью жеста пальцем.

Представления, диалоговые окна и виджеты

Библиотеки поддержки предоставляют ряд классов для отображения контента и элементов взаимодействия с пользователем в макете.

  • CardView — пользовательский класс библиотеки поддержки для создания карточек в стиле Material Design. Этот класс основан на FrameLayout с закругленными углами и тенью.
  • AppCompatDialogFragment — обеспечивает согласованное оформление диалогов путем расширения DialogFragment и использования AppCompatDialog .
  • NotificationCompat — обеспечивает поддержку новых стилей уведомлений с обратной совместимостью.
  • SearchView — предоставляет класс, позволяющий пользователю ввести поисковый запрос и отправить запрос поставщику поиска, который в первую очередь предназначен для использования в панели приложения.

Материальный дизайн

Библиотеки поддержки предоставляют ряд классов для реализации рекомендаций пользовательского интерфейса Material Design.

  • CoordinatorLayout — предоставляет контейнер верхнего уровня для макетов, включающий компоненты и поведение Material Design. Этот класс также можно использовать в качестве контейнера для конкретного взаимодействия с одним или несколькими дочерними представлениями.
  • AppBarLayout — обеспечивает реализацию многих функций прокрутки концепции панели приложений Material Design.
  • FloatingActionButton — создает плавающую кнопку для отображения продвигаемого действия особого типа. Этот элемент пользовательского интерфейса Material Design отображается в виде значка в кружке, плавающего над пользовательским интерфейсом приложения. Дополнительные сведения см. в разделе «Добавление плавающей кнопки действия» .
  • DrawerLayout — создает панель навигации — панель пользовательского интерфейса, на которой отображается главное меню навигации вашего приложения. Он появляется, когда пользователь проводит пальцем от левого края экрана или касается значка ящика на панели приложения. Дополнительные сведения см. в разделе Создание навигационного ящика .
  • TabLayout — предоставляет макет для отображения страниц с вкладками. Этот виджет предназначен для использования с классом ViewPager .
  • Snackbar — предоставляет виджет для отображения краткого отзыва об операции с помощью всплывающего окна Snackbar .

Графика

Пакет android.support.graphics.drawable обеспечивает поддержку векторных изображений . Используя векторные изображения, вы можете заменить несколько ресурсов PNG одним векторным изображением, определенным в XML.

VectorDrawableCompat обеспечивает поддержку векторных изображений на уровне API 9 и выше. AnimatedVectorDrawableCompat обеспечивает поддержку анимированных векторных изображений на уровне API 11 и выше.

Доступность

Пакет android.support.v4.view.accessibility предоставляет классы совместимости для реализации функций специальных возможностей, представленных на уровне API 14 и более поздних версиях, которые позволяют службам специальных возможностей наблюдать и идентифицировать взаимодействие пользователя с элементами, отображаемыми на экране.

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

Воспроизведение мультимедиа

Библиотека поддержки Android обеспечивает резервный перенос функций медиамаршрутизатора на устройства под управлением версий платформы до Android 4.1 (уровень API 16). Эти классы позволяют управлять воспроизведением мультимедиа на подключенных устройствах Android:

  • MediaRouter — позволяет приложениям управлять маршрутизацией медиаканалов и потоков от текущего устройства к внешним динамикам и целевым устройствам.
  • MediaControllerCompat — позволяет приложению взаимодействовать с текущим сеансом мультимедиа. С помощью этого механизма приложения могут предоставлять кнопки управления мультимедиа и отправлять в сеанс другие команды воспроизведения.
  • MediaSessionCompat — предоставляет интерфейс удаленного управления воспроизведением мультимедиа, позволяющий взаимодействовать с контроллерами мультимедиа, клавишами громкости, кнопками мультимедиа и элементами управления транспортом в других приложениях или на отдельных устройствах.

ТВ-приложения

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

Носите приложения

Android SDK предоставляет библиотеки для поддержки часов. Эти библиотеки предоставляют приложениям функциональность, доступную пользователям, когда они носят часы.

Утилиты

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

,

Примечание. С выпуском Android 9.0 (уровень API 28) появилась новая версия библиотеки поддержки AndroidX, которая является частью Jetpack . Библиотека AndroidX содержит существующую библиотеку поддержки, а также новейшие компоненты Jetpack.

Вы можете продолжать использовать библиотеку поддержки. Исторические артефакты (версии 27 и более ранних, упакованные как android.support.* ) останутся доступными в Google Maven. Однако разработка всех новых библиотек будет происходить в библиотеке AndroidX .

Мы рекомендуем использовать библиотеки AndroidX во всех новых проектах. Вам также следует рассмотреть возможность переноса существующих проектов на AndroidX.

Библиотеки поддержки предоставляют широкий спектр классов для создания приложений: от фундаментальных компонентов приложений до виджетов пользовательского интерфейса, обработки мультимедиа и компонентов телевизионных приложений. Многие из классов являются обратно совместимыми реализациями, но некоторые из них сами по себе являются новыми функциями.

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

Сведения о том, как добавить код библиотеки поддержки в проект разработки приложения, см. в разделе Настройка библиотеки поддержки . Информацию о том, как включить в проект определенные пакеты библиотек поддержки, см. в разделе Пакеты библиотек поддержки .

Компоненты приложения

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

  • Деятельность
    • ActivityCompat — включает обратную совместимую реализацию для последних ключевых функций действий, таких как разрешения во время выполнения и переходы анимации.
    • FragmentActivity — обеспечивает обратную совместимую реализацию действий для использования версий библиотеки поддержки API-интерфейсов Fragment и Loader .
    • AppCompatActivity — обеспечивает цветовые темы Material, оттенок виджетов и поддержку панели приложений для более ранних устройств. Для использования этого класса необходимо использовать темы Theme.AppCompat для единообразного визуального представления.
  • Fragment — предоставляет автономную реализацию класса Fragment платформы. Этот класс необходимо использовать с FragmentActivity .
  • ContextCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Context , включая поддержку разрешений, доступ к файлам и информацию о цвете.
  • IntentCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса Intent , включая методы выбора и запуска определенных действий.
  • Loader — предоставляет статическую реализацию класса Loader платформы и является базовым классом для классов поддержки AsyncTaskLoader и CursorLoader .
  • Preference — этот класс и его подклассы предоставляют реализации пользовательского интерфейса настроек приложения с обратной совместимостью.
  • ContentResolverCompat — обеспечивает поддержку функций, представленных в более поздних выпусках класса ContentResolver , в частности метода query() с поддержкой отмены выполняемого запроса.

Пользовательский интерфейс

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

Контейнеры макетов общего назначения

Эти классы поддержки предоставляют контейнеры пользовательского интерфейса, которые можно адаптировать для различных вариантов использования при проектировании.

  • RecyclerView — создает макет для отображения длинных списков, используя стратегию, позволяющую избежать высокого потребления памяти. Этот класс позволяет вам создать ограниченное окно просмотра для большего набора данных, избегая таким образом потребления большого объема памяти при отображении списка. Дополнительные сведения об использовании RecyclerView см. в руководстве Recycler View .
  • ViewPager — предоставляет макет, позволяющий пользователю перелистывать страницы данных влево и вправо.
  • GridLayout — предоставляет макет со своими дочерними элементами в прямоугольной сетке, поддерживая произвольные промежутки смежных ячеек и гибкое распределение пространства. Этот класс предоставляет обратно совместимую версию класса GridLayout , представленного в Android 4.0 (уровень API 14).
  • PercentFrameLayout и PercentRelativeLayout — предоставляют макеты, поддерживающие процентные размеры и поля для дочерних представлений и содержимого.

Примечание. Классы ViewPager , RecyclerView , PercentFrameLayout и PercentRelativeLayout доступны только из библиотек поддержки.

Контейнеры макета специального назначения

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

  • DrawerLayout — создает макет, который позволяет вытягивать интерактивные виды ящиков из края окна просмотра.
  • SlidingPaneLayout — предоставляет горизонтальный многопанельный макет для использования на верхнем уровне пользовательского интерфейса приложения для создания макетов, которые можно плавно адаптировать к экранам разных размеров, расширяя на больших экранах и сворачивая для соответствия на экранах меньшего размера.
  • NestedScrollView — макет прокрутки, который поддерживает вложение других представлений прокрутки, позволяя создавать списки с элементами, содержащими дополнительные дочерние списки. Эти вложенные списки могут содержать элементы, которые прокручиваются по горизонтали или вертикали отдельно от родительского списка.
  • SwipeRefreshLayout — предоставляет макет для поддержки обновления данных для списков или другого макета с помощью жеста пальцем.

Представления, диалоговые окна и виджеты

Библиотеки поддержки предоставляют ряд классов для отображения контента и элементов взаимодействия с пользователем в макете.

  • CardView — пользовательский класс библиотеки поддержки для создания карточек в стиле Material Design. Этот класс основан на FrameLayout с закругленными углами и тенью.
  • AppCompatDialogFragment — обеспечивает согласованное оформление диалогов путем расширения DialogFragment и использования AppCompatDialog .
  • NotificationCompat — обеспечивает поддержку новых стилей уведомлений с обратной совместимостью.
  • SearchView — предоставляет класс, позволяющий пользователю ввести поисковый запрос и отправить запрос поставщику поиска, который в первую очередь предназначен для использования на панели приложения.

Материальный дизайн

Библиотеки поддержки предоставляют ряд классов для реализации рекомендаций пользовательского интерфейса Material Design.

  • CoordinatorLayout — предоставляет контейнер верхнего уровня для макетов, включающий компоненты и поведение Material Design. Этот класс также можно использовать в качестве контейнера для конкретного взаимодействия с одним или несколькими дочерними представлениями.
  • AppBarLayout — обеспечивает реализацию многих функций прокрутки концепции панели приложений Material Design.
  • FloatingActionButton — создает плавающую кнопку для отображения продвигаемого действия особого типа. Этот элемент пользовательского интерфейса Material Design отображается в виде значка в кружке, плавающего над пользовательским интерфейсом приложения. Дополнительные сведения см. в разделе «Добавление плавающей кнопки действия» .
  • DrawerLayout — создает панель навигации — панель пользовательского интерфейса, на которой отображается главное меню навигации вашего приложения. Он появляется, когда пользователь проводит пальцем от левого края экрана или касается значка ящика на панели приложения. Дополнительные сведения см. в разделе Создание навигационного ящика .
  • TabLayout — предоставляет макет для отображения страниц с вкладками. Этот виджет предназначен для использования с классом ViewPager .
  • Snackbar — предоставляет виджет для отображения краткого отзыва об операции с помощью всплывающего окна Snackbar .

Графика

Пакет android.support.graphics.drawable обеспечивает поддержку векторных изображений . Используя векторные изображения, вы можете заменить несколько ресурсов PNG одним векторным изображением, определенным в XML.

VectorDrawableCompat обеспечивает поддержку векторных изображений на уровне API 9 и выше. AnimatedVectorDrawableCompat обеспечивает поддержку анимированных векторных изображений на уровне API 11 и выше.

Доступность

Пакет android.support.v4.view.accessibility предоставляет классы совместимости для реализации функций специальных возможностей, представленных на уровне API 14 и более поздних версиях, которые позволяют службам специальных возможностей наблюдать и идентифицировать взаимодействие пользователя с элементами, отображаемыми на экране.

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

Воспроизведение мультимедиа

Библиотека поддержки Android обеспечивает резервный перенос функций медиамаршрутизатора на устройства под управлением версий платформы до Android 4.1 (уровень API 16). Эти классы позволяют управлять воспроизведением мультимедиа на подключенных устройствах Android:

  • MediaRouter — позволяет приложениям управлять маршрутизацией медиаканалов и потоков от текущего устройства к внешним динамикам и целевым устройствам.
  • MediaControllerCompat — позволяет приложению взаимодействовать с текущим сеансом мультимедиа. С помощью этого механизма приложения могут предоставлять кнопки управления мультимедиа и отправлять в сеанс другие команды воспроизведения.
  • MediaSessionCompat — предоставляет интерфейс удаленного управления воспроизведением мультимедиа, позволяющий взаимодействовать с контроллерами мультимедиа, клавишами громкости, кнопками мультимедиа и элементами управления транспортом в других приложениях или на отдельных устройствах.

ТВ-приложения

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

Носите приложения

Android SDK предоставляет библиотеки для поддержки часов. Эти библиотеки предоставляют приложениям функциональность, доступную пользователям, когда они носят часы.

Утилиты

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

,

Примечание. С выпуском Android 9.0 (уровень API 28) появилась новая версия библиотеки поддержки AndroidX, которая является частью Jetpack . Библиотека AndroidX содержит существующую библиотеку поддержки, а также новейшие компоненты Jetpack.

Вы можете продолжать использовать библиотеку поддержки. Исторические артефакты (версии 27 и более ранних, упакованные как android.support.* ) останутся доступными в Google Maven. Однако разработка всех новых библиотек будет происходить в библиотеке AndroidX .

Мы рекомендуем использовать библиотеки AndroidX во всех новых проектах. Вам также следует рассмотреть возможность переноса существующих проектов на AndroidX.

Библиотеки поддержки предоставляют широкий спектр классов для создания приложений: от фундаментальных компонентов приложений до виджетов пользовательского интерфейса, обработки мультимедиа и компонентов телевизионных приложений. Многие из классов являются обратно совместимыми реализациями, но некоторые из них сами по себе являются новыми функциями.

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

Сведения о том, как добавить код библиотеки поддержки в проект разработки приложения, см. в разделе Настройка библиотеки поддержки . Информацию о том, как включить в проект определенные пакеты библиотек поддержки, см. в разделе Пакеты библиотек поддержки .

Компоненты приложения

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

  • Деятельность
    • ActivityCompat - включает в себя обратно совместимую реализацию для недавней, ключевые функции действий, такие как разрешения времени выполнения и переходы анимации.
    • FragmentActivity - обеспечивает обратно совместимую реализацию для действий по использованию библиотечных версий поддержки Fragment и Loader .
    • AppCompatActivity - предоставляет темы цвета материала, тонирование виджетов и поддержку панели приложений для более ранних устройств. Использование этого класса требует, чтобы вы использовали Theme.AppCompat .
  • Fragment - обеспечивает автономную реализацию класса Fragment . Этот класс должен использоваться с FragmentActivity .
  • ContextCompat - обеспечивает поддержку функций, представленных в более поздних выпусках Context класса, включая поддержку разрешений, доступ к файлам и информацию о цвете.
  • IntentCompat - обеспечивает поддержку функций, представленных в более поздних выпусках класса Intent , включая методы выбора и начала конкретной деятельности.
  • Loader - обеспечивает статическую реализацию класса Framework Loader и является базовым классом для классов поддержки AsyncTaskLoader и CursorLoader .
  • Preference -Этот класс и его подклассы предоставляют реализации настроек приложения пользовательский интерфейс, совместимый с обратно.
  • ContentResolverCompat - обеспечивает поддержку функций, представленных в более поздних выпусках класса ContentResolver , в частности, метод query() при поддержке отмены запроса.

Пользовательский интерфейс

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

Контейнеры для макета общего назначения

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

  • RecyclerView - создает макет для отображения длинных списков, используя стратегию, чтобы избежать высокого потребления памяти. Этот класс позволяет создавать ограниченный вид окна в более крупный набор данных, что избегает потребления больших объемов памяти при отображении списка. Для получения дополнительной информации об использовании RecyclerView см. Руководство по просмотру Recycler .
  • ViewPager - обеспечивает макет, который позволяет пользователю переворачивать влево и вправо через страницы данных.
  • GridLayout - обеспечивает макет со своими детьми в прямоугольной сетке, поддерживая произвольные пролеты смежных клеток и гибкое распределение пространства. Этот класс предоставляет обратную совместимую версию класса GridLayout , представленную в Android 4.0 (уровень API 14).
  • PercentFrameLayout и PercentRelativeLayout - предоставление макетов, которые поддерживают процентные размеры и маржу для его взглядов и содержания детей.

ПРИМЕЧАНИЕ. Классы ViewPager , RecyclerView , PercentFrameLayout и PercentRelativeLayout доступны только в библиотеках поддержки.

Контейнеры для макета специального назначения

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

  • DrawerLayout - создает макет, который позволяет вытащить интерактивные виды ящиков с края окна вида.
  • SlidingPaneLayout - обеспечивает горизонтальную многослойную компоновку для использования на верхнем уровне интерфейса пользователя приложения для создания макетов, которые могут плавно адаптироваться по многим различным размерам экрана, расширяются на более крупных экранах и рушиваются, чтобы соответствовать небольшим экранам.
  • NestedScrollView - макет прокрутки, которая поддерживает гнездование других просмотров, позволяющих создавать списки, с элементами, содержащими дополнительные списки детей. Эти вложенные списки могут содержать элементы, которые прокручивают горизонтально или вертикально, отдельно от родительского списка.
  • SwipeRefreshLayout - обеспечивает макет для поддержки освежающих данных для списков или другой макета с жестом смахивания пальцами.

Просмотры, диалоги и виджеты

Библиотеки поддержки предоставляют ряд классов для отображения контента и предоставления элементов взаимодействия с пользователем в макете.

  • CardView - Пользовательский класс библиотеки поддержки для создания отображающих карт в стиле дизайна материала. Этот класс основан на Framelayout с закругленными углами и тенью.
  • AppCompatDialogFragment - обеспечивает последовательно стилизованные диалоги, расширяя DialogFragment и использование AppCompatDialog .
  • NotificationCompat - обеспечивает поддержку более новых стилей уведомлений обратно совместимым.
  • SearchView - предоставляет пользователю класс для ввода поискового запроса и отправить запрос поставщику поиска, который в основном предназначен для использования в панели приложений.

Материал дизайн

Библиотеки поддержки предоставляют ряд классов для реализации рекомендаций пользовательского интерфейса дизайна материала.

  • CoordinatorLayout - обеспечивает контейнер на верхнем уровне для макетов, включающих компоненты дизайна материала и поведение. Этот класс также может быть использован в качестве контейнера для конкретного взаимодействия с одним или несколькими детьми.
  • AppBarLayout - обеспечивает реализацию многих функций прокрутки концепции панели приложений Material Design.
  • FloatingActionButton - создает плавающую кнопку для отображения специального типа продвигаемого действия. Этот элемент пользовательского интерфейса дизайна материала отображается в виде кольцевого значка, плавающего над пользовательским интерфейсом приложения. Для получения дополнительной информации см. Добавьте кнопку плавающего действия .
  • DrawerLayout - создает навигационный ящик - панель пользовательского интерфейса, которая показывает главное меню навигации вашего приложения. Он появляется, когда пользователь сбивает палец с левого края экрана или нажимает значок ящика в панели приложений. Для получения дополнительной информации см. Создайте ящик для навигации .
  • TabLayout - обеспечивает макет для отображения страниц с вкладками. Этот виджет предназначен для использования с классом ViewPager .
  • Snackbar - предоставляет виджет для отображения легкой обратной связи о операции с использованием всплывающего окна Snackbar .

Графика

Пакет android.support.graphics.drawable обеспечивает поддержку векторных рисунков . Используя Vector Drawables, вы можете заменить несколько активов PNG на одну векторную графику, определенную в XML.

VectorDrawableCompat обеспечивает поддержку векторных рисунков на уровне API 9 и выше. AnimatedVectorDrawableCompat обеспечивает поддержку анимированных векторных рисунков на уровне API 11 и выше.

Доступность

Пакет android.support.v4.view.accessibility предоставляет классы совместимости для реализации функций доступности, представленных на уровне API 14 и более поздних условий, которые позволяют службам доступности наблюдать и идентифицировать взаимодействие с пользователями с элементами, отображаемыми на экране.

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

Воспроизведение СМИ

Библиотека поддержки Android обеспечивает обратный план функциональности маршрутизатора медиа -маршрутизатора для устройств, управляющих версиями платформы раньше, чем Android 4.1 (уровень 16 API). Эти классы позволяют контролировать воспроизведение средств массовой информации на подключенных устройствах Android:

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

ТВ-приложения

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

Носить приложения

Android SDK предоставляет библиотеки для поддержки часов. Эти библиотеки предоставляют функциональность для приложений, которые доступны пользователям, когда они носят часы.

Утилиты

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