На этой странице приведена информация о более ранних версиях пакета библиотеки поддержки. Информацию о последних выпусках библиотеки поддержки можно найти в разделе Последние версии библиотеки поддержки.
Ревизия 26.0.0 Beta 2
(июнь 2017 г.)
Обратите внимание, что версия 26.0.0-beta2 является предварительной. Его API может меняться, и он не обязательно включает функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно скачивать репозиторий поддержки из SDK Manager. Подробнее о том, как настроить библиотеку поддержки…
Новые API
- Новый класс
JobIntentService, который помогает разработчикам планировать задачи с учетом ограничений на выполнение фоновых процессов в Android O.
Различия в API
Исправлены ошибки.
- При использовании Android O SDK в TextViews не отображается курсив
- Исключение нулевого указателя при подключении к MediaBrowserServiceCompat
- TextInputLayout должен задавать подсказки в onProvideAutofillStructure()
- Переполнение стека при использовании функции autosize в TextView на устройствах с Android O
Revision 26.0.0 Beta 1
(май 2017 г.)
Обратите внимание, что версия 26.0.0-beta1 является предварительной. Его API может меняться, и он не обязательно включает функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно скачивать репозиторий поддержки из SDK Manager. Подробнее о том, как настроить библиотеку поддержки…
Важные изменения
FragmentActivity.setSupportMediaController()иFragmentActivity.getSupportMediaController(). Используйте новые статические методыMediaControllerCompat.setMediaController()иMediaControllerCompat.getMediaController().- Теперь при выборе уже выбранного элемента
BottomNavigationViewвызываетonNavigationItemReselected(), а неonNavigationItemSelected(). - Все экземпляры метода
findViewById()теперь возвращают<T extends View> TвместоView. Это изменение имеет следующие последствия:- В результате существующий код может иметь неоднозначный тип возвращаемого значения, например если есть и
someMethod(View), иsomeMethod(TextView), которые принимают результат вызоваfindViewById(). - При использовании языка оригинала Java 8 для этого требуется явное приведение к типу
View, если тип возвращаемого значения не ограничен (например,assertNotNull(findViewById(...)).someViewMethod())). - Переопределения методов
findViewById(), не являющихся окончательными (например,Activity.findViewById()), должны иметь обновленный возвращаемый тип.
- В результате существующий код может иметь неоднозначный тип возвращаемого значения, например если есть и
Новые API
-
У классов
FragmentManagerиFragmentесть методisStateSaved(), который позволяет узнать, будет ли разрешена транзакция без потери состояния. Это особенно полезно при обработке событияonClick()перед выполнением транзакции. - Движение по траектории поддерживается в
AnimatedVectorDrawableCompat. Анимация по траектории позволяет одному аниматору объектов одновременно изменять два свойства на основе одной траектории (траектория задается какandroid:pathDataв XML-файле аниматора). - Анимация на основе физики:
- Новая функция
FlingAnimation, которая позволяет анимировать объекты с начальной скоростью и плавно замедлять их. - Подклассы
DynamicAnimationподдерживают анимацию пользовательского свойства для любого объекта. - Теперь поля
SpringAnimationиFlingAnimationмогут анимировать значение с плавающей запятой без необходимости связывать его сViewилиObject.
Подробнее об анимации "Пружина" и анимации "Бросок"…
- Новая функция
-
Поддержка шрифтов в XML:
-
ResourcesCompat.getFontпозволяет загружать ресурсы шрифтов, в том числе XML-файлы семейств шрифтов, которые можно использовать сTextView.setTypeface(). - При использовании AppCompat TextView поддерживает указание ресурса шрифта или семейства шрифтов XML с помощью атрибута XML
android:fontFamily. - Используйте XML-элемент font-family, чтобы создавать семейства шрифтов с разными стилями и толщиной. Если вы используете для этого классы библиотеки поддержки, то также используйте атрибуты
app:иandroid:.
-
- Скачиваемые шрифты:
- Новый элемент
FontsContractCompat, позволяющий запрашивать шрифты у поставщика, а не добавлять их в приложение. - Шрифты также можно запрашивать в XML и использовать в макетах.
- Новый элемент
-
Библиотека совместимых эмодзи:
-
EmojiCompatможет обработатьCharSequenceи добавитьEmojiSpans. -
EmojiTextViewи другие виджеты для отображения эмодзи. -
FontRequestEmojiCompatConfig– запрос шрифта эмодзи у поставщика шрифтов.
-
-
Автоматическое изменение размера
TextView:
- Новые методы в
TextViewCompat, а также атрибуты XML для управления автоматическим изменением размера вTextView.
- Новые методы в
- Элементы управления воспроизведением Leanback с поддержкой перемотки:
-
- Новый
PlaybackTransportRowPresenter, который позволяет воспроизводить контент и управлять им с помощью ползунка. - Новый тег
PlaybackTransportControlGlue, который работает с тегомPlaybackTransportRowPresenterи поддерживает перемотку. - Новый базовый класс
PlaybackSeekDataProviderдля приложения, чтобы предоставлять эскизы для перемотки вPlaybackTransportControlGlue.
- Новый
- Preferences Data Store:
-
PreferenceDataStoreтеперь позволяет реализовать собственное хранилище параметров с помощью новых методов вPreferenceиPreferenceManager.
-
Известные проблемы
- Интеграция скачиваемых шрифтов и совместимости с эмодзи с сервисами Google Play работает только с версией 11 и выше. Сейчас она доступна в бета-программе сервисов Google Play.
Исправлены ошибки.
-
MediaBrowserCompat.search()API не работает (проблема AOSP 262170) -
ViewCompat.postInvalidateOnAnimation()вызывает исключение (проблема 80146 в AOSP) -
onActivityCreated()вызван для фрагментов в уничтоженном действии -
RecyclerView.isComputingLayout()должен возвращать значение true во время предварительной выборки. -
Если переход
Fadeпрерывается и отменяется, методViewзапускает анимацию с начала. (Исправление перенесено из Android Framework.) -
Transition.Fadeигнорирует начальное альфа-значениеView(проблема AOSP 221820)
Версия 26.0.0 Alpha 1
(март 2017 г.)
Обратите внимание, что версия 26.0.0-alpha1 является предварительной. Его API может меняться, и он не обязательно включает функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важные изменения
Примечание. Минимальная версия SDK теперь 14. В результате многие API, которые существовали только для совместимости с API < 14, были объявлены устаревшими. Клиентам этих API следует перейти на эквивалентные фреймворки, как указано на справочной странице для каждого устаревшего API.
- Модуль support-percent устарел. Клиентам этого модуля следует перейти на новый виджет ConstraintLayout, который предоставляется в виде отдельного артефакта в SDK Manager.
- Модуль support-fragment больше не зависит от модуля support-media-compat.
Новые API
Добавлено множество новых классов, методов и констант, чтобы обеспечить обратную совместимость с API платформы, добавленными в версии O Preview.
IME_FLAG_NO_PERSONALIZED_LEARNING: IME могут отслеживать флаги "не запоминать" для приложений с частным режимом, например браузеров. Эта функция помогает методам ввода понять, находится ли приложение в режиме инкогнито, чтобы они могли отключить свои функции обучения или адаптации, пока приложение находится в этом режиме.
Полный список изменений в API между версиями 25.2.0 и 26.0.0-alpha1 приведен в отчете о различиях в API библиотеки поддержки.
Исправлены ошибки.
- В некоторых случаях простую анимацию
AutoTransitionмогут прерывать скачки изображения. (Проблема AOSP 221816)
Версия 25.4.0
(июнь 2017 г.)
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно скачивать репозиторий поддержки из SDK Manager. Подробнее о том, как настроить библиотеку поддержки…
Важные изменения
-
executePendingTransactions(),commitNow(),popBackStackImmediate()и другие подобные вызовы транзакций не допускаются во время изменений состоянияFragmentManager. Повторный вход в транзакцию небезопасен, и теперьFragmentManagerобеспечивает это при изменении состояния. - Одновременно с выпуском этой библиотеки поддержки мы также выпускаем multidex версии 1.0.2. В этой версии реализованы следующие важные изменения:
- Позволяет использовать multidexing для APK-файла инструментария.
- Прекращена поддержка MultiDexTestRunner (вместо него следует использовать AndroidJUnitRunner).
- Улучшена защита от некоторых ошибок при извлечении архивов, которые могут привести к сбоям в работе приложения.
- Исправлена ошибка, из-за которой могли оставаться временные файлы.
- Ускоряет установку, если выполняется одновременно с другими процессами.
- Исправлена ошибка установки на устройствах с API 19 и 20.
Новые и измененные API
В AnimatedVectorDrawableCompat поддерживается морфинг и интерполяция путей. Морфинг пути позволяет фигурам переходить из одного пути (указанного как android:valueFrom) в другой (указанный как android:valueTo), чтобы создавать сложные и привлекательные визуальные эффекты. Интерполяция пути позволяет задавать интерполяторы для AnimatedVectorDrawableCompat в виде путей (указанных как android:pathData в XML-файле интерполятора).
Различия в API
Устраненные проблемы
- Исключение нулевого указателя при подключении к MediaBrowserServiceCompat
- API MediaBrowserCompat.search() не работает (проблема AOSP 262170)
- Обратные вызовы BrowseFragment onItemClicked не работают в версии 25.3.0
- NullPointerException при прокрутке вверх и вниз в VerticalGridView в версии 25.3.1
- ClassCastException в SimpleArrayMap.allocArrays()
Версия 25.3.1
(март 2017 г.)
Устраненные проблемы
- Для
SwitchCompatтребуется SDK версии 14 или более поздней. (Проблема AOSP 251302) - Анимация на основе физики
updateListenerпропускает первый кадр. - Анимация ярлыка "
BottomNavigationView" не работает.
Версия 25.3.0
(март 2017 г.)
Важные изменения
Метаданные версии библиотеки поддержки будут автоматически добавлены в файл манифеста AndroidManifest.xml при сборке с помощью Gradle, что упростит отслеживание версий в общедоступных сборках. Пример:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
Deprecations
В этом выпуске прекращена поддержка ряда методов и классов. Эти устаревшие API будут удалены в будущей версии, поэтому разработчикам следует отказаться от их использования. Чтобы узнать, как перейти на другой API, ознакомьтесь с документацией по нему.
ExifInterface- Логический метод
getLatLong(float[])больше не поддерживается. Вместо него используйте новый методgetLatLong(), который не принимает аргументов и возвращаетdouble[]. mediacompatPlaybackStateCompat.Builder.setErrorMessage(CharSequence)больше не поддерживается. Вместо этого используйте новый методsetErrorMessage(int, CharSequence), которому передается код ошибки и необязательное описание.EXTRA_SUGGESTION_KEYWORDSбольше не поддерживается. Вместо этого используйте функцию поискаMediaBrowserCompat.v7.recyclerviewLinearLayoutManager.getInitialItemPrefetchCount()переименован вLinearLayoutManager.getInitialPrefetchItemCount(). Старое название по-прежнему поддерживается, но будет удалено в будущем выпуске.
Новые и измененные API
appcompat-v7- Новый метод
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)позволяет легко отключить анимацию значка переключателя панели навигации. customtabs- Добавлена поддержка каналов сообщений. Подробную информацию вы найдете в справочных материалах по элементам
CustomTabsService.requestPostMessageChannel()иCustomTabsService.postMessage(). dynamic-animation- Новая библиотека анимации на основе физики, которая предоставляет набор API для создания анимаций, динамически реагирующих на ввод данных пользователем.
leanback-v17- Добавлена поддержка параллакс-фонов. Подробную информацию вы найдете в справочнике по
Parallax. - Добавлено
TimePickerвиджет для выбора времени в интерфейсе телевизора. mediacompat- Добавлена функция поиска. Подробную информацию вы найдете в справочных материалах по элементам
MediaBrowserCompat.search()иMediaBrowserServiceCompat.onSearch(). - Добавлена поддержка режимов случайного воспроизведения и повтора. Подробную информацию вы найдете в справочных материалах по элементам
MediaSessionCompat.setRepeatMode()иsetShuffleModeEnabled().
Устраненные проблемы
StaggeredGridLayoutManagerвызываетIllegalArgumentException(проблема AOSP 230295)RecyclerViewне может корректно обработатьRecyclerView, который прикреплен, но не отображается на экране.LinearLayoutне распознается Robolectric- Когда объект
Activityуничтожается, для его фрагментов неправильно вызывается объектonActivityCreated() - Конструктор
AppCompatImageViewвызываетArrayIndexOutOfBoundsException. - Низкая производительность интерфейса при переходе к действию
Call.Details
Версия 25.2.0
(февраль 2017 г.)
Важные изменения
Устраненные проблемы
- В этой версии исправлена серьезная проблема с медиамаршрутизатором, из-за которой при использовании устройства A2DP и API маршрутизации медиаконтента устройство переставало отвечать на запросы и требовало перезагрузки.
- Курс
FragmentManager.FragmentLifecycleCallbacksтеперь является статичным.
Устраненные проблемы
- При показе презентации с помощью функции дублирования экрана устройство отключается от сети Wi-Fi
- Кнопка мультимедиа неправильно обрабатывала приложения, которые не были зарегистрированы в
setMediaButtonReceiver(). -
Ошибка
VectorDrawableсо строковым ресурсом (проблема AOSP 232407) TextInputLayoutперекрывает подсказку и текст, если текст задан в XML (проблема AOSP 230171).- Утечка памяти в
MediaControllerCompat(проблема AOSP 231441) -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()сбои; RecyclerViewаварийно завершает работу при повторном использовании держателей представлений (проблема AOSP 225762)getAllowGeneratedReplies()неправильно возвращает значение false для действий внутриWearableExtender
Версия 25.1.1
(январь 2017 г.)
Важно! В классе android.support.v7.media.MediaRouter
в версиях 25.1.1 и 25.1.0 библиотеки поддержки обнаружена ошибка. Если в вашем приложении используется библиотека поддержки версии 7 MediaRouter, обновите ее до версии 25.2.0, в которой исправлена эта ошибка.
Важные изменения
-
Теперь можно оптимизировать фрагменты транзакций как в рамках одной транзакции, так и между разными транзакциями. Оптимизация операций с фрагментами транзакций позволяет устранить операции, которые отменяются. Предположим, что две транзакции выполняются вместе: одна добавляет фрагмент А, а вторая заменяет фрагмент А фрагментом Б. В этом случае первая операция может быть отменена, и будет добавлен только фрагмент Б. Это означает, что фрагмент А может не пройти жизненный цикл создания и уничтожения.
Побочный эффект этой оптимизации заключается в том, что фрагменты могут менять состояние не в том порядке, в котором ожидается. Например, предположим, что одна транзакция добавляет фрагмент А, вторая – фрагмент Б, а третья удаляет фрагмент А. Без оптимизации фрагмент Б может ожидать, что во время его создания фрагмент А также будет существовать, поскольку фрагмент А будет удален после добавления фрагмента Б. При оптимизации фрагмент Б не может быть уверен, что фрагмент А будет существовать во время создания фрагмента Б, поскольку создание и удаление фрагмента А могут быть удалены в результате оптимизации.
По умолчанию эта оптимизация отключена. Чтобы включить оптимизацию, вызовите функцию
FragmentTransaction.setAllowOptimization(true). - Теперь фрагменты могут откладывать переходы и анимацию до тех пор, пока не будут готовы, используя
Fragment.postponeEnterTransition()иFragment.startPostponedEnterTransition(). Этот API похож наActivity.postponeEnterTransition()иActivity.startPostponedEnterTransition(), которые используются с переходами между действиями.
Устраненные проблемы
-
MediaSessionCompatTest: ошибкаIllegalArgumentException -
В версии 25.1.0 не вызывается функция
DetailsFragment.installTitleView() - При выходе из транзакции фрагмента остается фантомное представление (проблема AOSP 230679)
-
BottomNavigationViewтребует пробела между значком и текстом (проблема AOSP 230653) - Некоторые слушатели не учитываются в новых отчетах
PlaybackFragmentиPlaybackSupportFragment -
TextInputLayoutФокус не меняется должным образом в эмуляторе из библиотеки поддержки версии 25.1.0 (проблема AOSP 230461). - Невозможно заменить меню
BottomNavigationView(проблема 230343 в AOSP) -
RecyclerViewсStaggeredGridLayoutManagerсбои при работе с элементами, занимающими всю ширину экрана (проблема AOSP 230295) - Сбой в
MediaSessionCompatпри использованииsetCallback(null) -
PlaybackGlueHostOldиPlaybackSupportGlueHostOldне уведомляют обратные вызовы при изменении строки воспроизведения. -
PlaybackOverlayFragmentexample/testcan not start playing -
RecyclerViewFocusRecoveryTestне работает на API 15 - Строка "Скриншоты" в верхней части экрана
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()сбои на API 15 -
setActions()вonSubactionClicked()не работает -
RecyclerViewаварийно завершает работу при повторном использовании некоторых держателей представлений
Версия 25.1.0
(декабрь 2016 г.)
Важно! В классе android.support.v7.media.MediaRouter
в версиях 25.1.1 и 25.1.0 библиотеки поддержки обнаружена ошибка. Если в вашем приложении используется библиотека поддержки версии 7 MediaRouter, обновите ее до версии 25.2.0, в которой исправлена эта ошибка.
Важные изменения
- Клиенты вложенных виджетов
RecyclerView(например, вертикального списка горизонтальных списков) могут значительно повысить производительность, указав менеджеру макета внутреннего виджетаRecyclerView, сколько элементов нужно подготовить до того, как они будут прокручены на экране. CallLinearLayoutManager.setInitialPrefetchItemCount(N), где N – количество видимых просмотров для каждого внутреннего объекта. Например, если в ваших внутренних горизонтальных списках одновременно показывается минимум три с половиной объекта, вы можете повысить эффективность, вызвав функциюLinearLayoutManager.setInitialPrefetchItemCount(4). Это позволяетRecyclerViewсоздавать все необходимые представления на ранних этапах, пока внешний элементRecyclerViewпрокручивается, что значительно уменьшает количество заиканий при прокрутке. - Поддержка
FragmentActivity.setSupportMediaController()иFragmentActivity.getSupportMediaController()прекращена. Используйте новые статические методыMediaControllerCompat.setMediaController()иMediaControllerCompat.getMediaController(). - Если клиент задает оттенок виджета с помощью функции appcompat tinting (например,
appcompat:buttonTint), он должен предоставить все необходимые состояния (например, "отключено", "нажато" и т. д.). Это соответствует тому, как задаются оттенки виджетов при использовании оттенков фреймворка.
Новые и измененные API
- Добавлена библиотека поддержки ExifInterface. Эта библиотека позволяет читать информацию EXIF из файлов в формате JPEG и RAW, а также задавать информацию EXIF для файлов изображений JPEG.
Snackbarбыл переработан, чтобы позволить приложениям показывать собственный контент.BaseTransientBottomBar– новый базовый класс, который определяет общее поведение при прокрутке и анимации.- Добавлен новый пакет leanback.media, который содержит вспомогательные классы для интеграции медиаплееров в приложения Android TV.
- В библиотеку поддержки предпочтений версии 7 добавлен элемент
SeekBarPreferenceс настраиваемым макетом и атрибутами. - В библиотеку поддержки версии 4 добавлен класс
ArraySet. Этот класс соответствует классуArraySet, который был добавлен в платформу на уровне API 23. RecyclerViewУлучшения предварительной выборки элементов RecyclerView:- Вложенная предварительная загрузка
RecyclerViewпозволяет предварительно загружать контент из элементаRecyclerView, находящегося внутри другого прокручиваемого элементаRecyclerView. С помощью API можно управлять объемом предварительно загружаемого контента: - Добавлены API для специальных объектов
LayoutManager, которые позволяют реализовать предварительную выборку при прокрутке и пролистывании. - Улучшения в предварительной выборке, позволяющие выполнять как можно больше операций создания и привязки в промежутках между кадрами.
- Вложенная предварительная загрузка
Устраненные проблемы
- Переключатель видимости пароля не соответствует требованиям доступности.
- На устройствах с версией ОС ниже L библиотека Appcompat не учитывает атрибут
state_enabled. - В
RecyclerViewдобавлен механизм восстановления фокуса. Также исправлена ошибка, из-за которой при использовании навигации с помощью D-pad, например на устройствах Android TV, фокус не переключался на фрагменты поддержки. - Leanback: BrowseFragment падает при отключенных заголовках и пустом адаптере.
- Appcompat:
AlertDialogслишком широкий. InputContentInfoCompatвызываетrequestPermission(), когда должен вызыватьreleasePermission().MediaBrowserCompatсбоев.- CoordinatorLayout измеряет и размещает представления, когда для параметра visibility задано значение
GONE. - Не удалось применить оттенок
AnimatedVectorDrawableCompatна уровне API ниже 24 - Библиотека Leanback вызывает ложные ошибки линтера
- Библиотека Palette вызывала сбои при тестировании на всех уровнях API
RecyclerViewне прошел тесты на платформе LeanbackRecyclerViewаварийно завершает работу при переработке держателей представлений (проблема AOSP 225762)Fragment.onDestroy()не вызывается для фрагмента в стеке возвратаCollapsingToolbarLayoutне отображается при сворачивании.CoordinatorLayout.offsetChildByInset()throwsIllegalArgumentException- Анимирование объектов
RecyclerViewприводит к отсоединению внутренних объектовRecyclerViewи предотвращает предварительную загрузку в будущем. - Прикрепленные объекты
RecyclerViewнельзя вкладывать в предварительно загруженные объекты. - Данные предварительной выборки для вложенных объектов
RecyclerViewудаляются при первой разметке RecyclerViewПредварительная выборка не выполняется, если два события drag происходят в одной и той же позицииRecyclerViewдолжен предварительно выполнять разметку, пока RenderThread выполняет отрисовку.- Ресурсы цвета, настроенные для ночного режима и преобразованные в объекты Drawable, не всегда корректно удаляются из кеша ресурсов.
FloatingActionButton: Программная настройка BackgroundTintList работает неправильно (проблема 227428 в AOSP).TextInputLayout: для ErrorView не задан шрифт (проблема AOSP 227803)TextInputLayoutвсегда возвращается к светлому цвету ошибки, если версия API ниже 23 (проблема AOSP 221992).FloatingActionButtonотображается как нажатая, когда указатель покидает ее
Полный список исправлений общедоступных ошибок можно найти в системе отслеживания ошибок AOSP.
Deprecations
В этом выпуске прекращена поддержка ряда методов и классов. Эти устаревшие API будут удалены в одной из следующих версий, поэтому разработчикам следует отказаться от их использования. Чтобы узнать, как перейти на другой API, ознакомьтесь с документацией по нему.
-
android.support.design.widget -
android.support.v17.leanback.appBackgroundManager.getDefaultDimLayer()BackgroundManager.getDimLayer()BackgroundManager.setDimLayer()MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.getFragment()PlaybackControlGlue.getOnItemViewClickedListener()PlaybackControlGlue.onRowChanged()PlaybackControlGlue.pausePlayback()PlaybackControlGlue.skipToNext()PlaybackControlGlue.skipToPrevious()PlaybackControlGlue.startPlayback()PlaybackControlSupportGluePlaybackOverlayFragmentPlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget -
android.support.v4.appFragmentActivity.getSupportMediaController()FragmentActivity.setSupportMediaController()
Версия 25.0.1
(ноябрь 2016 г.)
Устраненные проблемы
- Переключатель пароля
TextInputLayoutтеперь отключен по умолчанию, чтобы избежать ненужной перезаписи конечных объектов, заданных разработчиком. Его можно включить вручную с помощью XML-атрибутаpasswordToggleEnabled. - Объекты
BottomNavigationViewтеперь отображаются в одну строку в соответствии со спецификацией материалов. RecyclerViewаварийно завершает работу во время предварительной выборки, если менеджер макетов имеет значение null.BottomNavigationViewтеперь задана правильно. (проблема AOSP 226182)BottomNavigationViewаварийно завершает работу при добавлении пунктов меню программным способом. (проблема AOSP 225731)- Исправлена ошибка, из-за которой составные объекты drawable
TextInputLayoutслева и справа не отображались. (проблема 225836 в AOSP) RecyclerViewпроисходит сбой при повторном использовании держателей представлений. (Проблема 225762 в AOSP)- Leanback: TalkBack часто произносит слово "null" при разделенном экране.
RecyclerView: проблемы с отрисовкой в Android Studio. (проблема 225753 в AOSP)BottomNavigationViewпо-прежнему показывает, что пункт меню выбран, после того какonNavigationItemSelected()возвращает значение false. (Проблема AOSP 225898)- ForwardingListener вызывает исключение
NoSuchMethodError. (проблема 225647 в AOSP) TextInputEditTextне показывает подсказки в режиме извлечения IME. (проблема AOSP 221880)
Полный список исправлений общедоступных ошибок можно найти в системе отслеживания ошибок AOSP.
Версия 25.0.0
(октябрь 2016 г.)
Важные изменения
- Конструктор класса
ContextCompatтеперь защищен. Этот класс не должен быть общедоступным, но его можно расширить с помощью библиотек поддержки, предназначенных для более новых уровней API. - Конструктор класса
ActivityCompatтеперь защищен. Этот класс не должен быть общедоступным, но его могут расширять библиотеки поддержки, предназначенные для более новых уровней API. getReferrer(Activity)стал статическим.-
Ресурс
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V)уже удален. Все клиентские реализации этого метода следует удалить. -
Ресурс
android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object)уже удален. Вместо него следует использовать методfromMediaSession(). -
android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)удален. Вместо него следует использовать методMediaSessionCompat.QueueItem#fromQueueItem. -
Ресурс
android.support.v7.widget.Spaceуже удален. Вместо Usages используйтеandroid.support.v4.widget.Space.
Новые API
-
Класс
android.support.design.widget.BottomNavigationViewреализует нижнюю панель навигации из спецификации Material Design. - Новый пакет
android.support.v13.view.inputmethodвключает классы для доступа к функциямandroid.view.inputmethod.InputConnection, добавленным после API уровня 13. -
android.v7.widget.RecyclerView.DividerItemDecoration– базовый класс для реализации вертикальных или горизонтальных разделителей между элементами. - Новые стили с декоративными элементами в
android.support.v7.app.NotificationCompat,DecoratedCustomViewStyleиDecoratedMediaCustomViewStyle, зеркальные классы, добавленные в API платформы 24.
Устраненные проблемы
Полный список исправлений общедоступных ошибок можно найти в системе отслеживания ошибок AOSP.
Версия 24.2.1
Сентябрь 2016 г.
Устраненные проблемы:
FloatingActionButtonбольше нельзя привязывать к косвенным дочерним элементамCoordinatorLayout. (Проблема AOSP 220250)- Изображение внутри
CollapsingToolbarLayoutнеправильно масштабируется вместе сfitsSystemWindows=true. (Проблема AOSP 220389) CoordinatorLayoutвызывает исключениеIndexOutOfBoundsException, когда показывается и закрываетсяSnackbar. (Проблема AOSP 220762)TextInputLayoutне может распознать цвет текста ошибки. (Проблема AOSP 220305)BatchedCallback.onMoved()звонитBatchedCallback.onInserted(). (Проблема 220309 в AOSP)TextInputLayoutпереопределяет составной рисунок справа. (Проблема AOSP 220728)
Полный список исправлений общедоступных ошибок можно найти в системе отслеживания ошибок AOSP.
Версия 24.2.0
Август 2016 г.
В версии 24.2.0 внесены следующие изменения:
- Разделение библиотеки поддержки версии 4
- Обновления API
- Изменения в поведении
- Устаревшие функции
- Исправление ошибок
Примечание. В версии 24.2.0 прекращена поддержка Android 2.2 (уровень API 8) и более ранних версий. Классы и методы, которые существуют только для поддержки этих версий системы, теперь помечены как устаревшие и больше не должны использоваться. Эти устаревшие классы и методы могут быть удалены в будущей версии.
Разделение библиотеки поддержки версии 4
В этом выпуске библиотека поддержки версии 4 была разделена на несколько небольших модулей:
-
support-compat -
Предоставляет оболочки совместимости для новых API фреймворка, например
Context.getDrawable()иView.performAccessibilityAction(). -
support-core-utils -
Содержит ряд вспомогательных классов, таких как
AsyncTaskLoaderиPermissionChecker. -
support-core-ui -
Реализует различные компоненты интерфейса, такие как
ViewPager,NestedScrollViewиExploreByTouchHelper. -
support-media-compat -
Переносит части фреймворка media, в том числе
MediaBrowserиMediaSession. -
support-fragment -
Переносит фреймворк fragment
в более раннюю версию. Этот модуль зависит от
support-compat,support-core-utils,support-core-uiиsupport-media-compat.
Для обеспечения обратной совместимости, если вы укажете support-v4 в скрипте Gradle, в APK будут включены все эти модули. Однако, чтобы уменьшить размер APK, мы рекомендуем указать только те модули, которые нужны вашему приложению.
Обновления API
- Клиенты, использующие вкладки браузера, могут контролировать, должны ли открываться мгновенные приложения. (Обратите внимание, что приложения с мгновенным запуском пока доступны не всем.) Чтобы включить или отключить приложения с мгновенным запуском, вызовите метод
CustomTabsIntent.Builder.setInstantAppsEnabled()или укажитеEXTRA_ENABLE_INSTANT_APPS. По умолчанию в настраиваемых вкладках будут включены мгновенные приложения, когда эта функция станет доступна. TextInputLayoutдобавляет поддержку переключателя видимости пароля из спецификации Material Design.- Новый пакет
android.support.transitionпереносит фреймворк Transitions на уровни API 14 и выше. Подробнее о параметреandroid.support.transition… - Библиотека поддержки пользовательских вкладок добавляет поддержку использования
RemoteViewsна дополнительной панели инструментов. Существующий методsetToolbarItem()больше не поддерживается. AppCompatResourcesпозволяет загружать<vector>(на устройствах с уровнем API 9 и выше) или<animated-vector>(на устройствах с уровнем API 11 и выше) по идентификатору ресурса с помощью нового методаgetDrawable().CoordinatorLayoutтеперь поддерживает определение врезок и указание, что другие виды должны избегать врезок. Это позволяет приложениям воспроизводить шаблоны поведения, похожие на то, какFloatingActionButtonуходит с путиSnackbar, но для любых дочерних элементов. Подробную информацию можно найти в справочной документации поLayoutParams.insetEdgeиLayoutParams.dodgeInsetEdges.- Новый класс
DiffUtilможет вычислять разницу между двумя коллекциями и отправлять список операций обновления, которые подходят для использования вRecyclerView.Adapter. -
Добавлен параметр
RecyclerView.OnFlingListener, позволяющий задавать особые действия в ответ на жесты. КлассSnapHelperреализует привязку дочерних представлений, а классLinearSnapHelperрасширяет эту реализацию, чтобы обеспечить привязку по центру, аналогичнуюViewPager. - Теперь библиотека пользовательских вкладок позволяет клиентам запрашивать стандартный интерфейс браузера вместо интерфейса пользовательских вкладок, вызывая
CustomTabsIntent.setAlwaysUseBrowserUI(). Такое поведение полезно, когда браузер по умолчанию использует интерфейс специальных вкладок, но пользователь предпочитает стандартный интерфейс браузера.
Изменения в поведении
- Если вы используете функцию переключения между дневным и ночным режимами из библиотеки appcompat, система теперь автоматически воссоздает ваше действие при смене режима (из-за времени суток или вызова
AppCompatDelegate.setLocalNightMode()). Snackbarтеперь отрисовывается за панелью навигации, если строка состояния полупрозрачная.
Библиотека MediaRouter
Устройства Bluetooth больше не отображаются в качестве маршрутов передачи медиаконтента. Маршрутизация аудио на устройства Bluetooth теперь полностью контролируется на уровне системы Android.
Deprecations
Устаревшие классы и методы могут быть удалены в будущих версиях. Как можно скорее откажитесь от этих API.
- Некоторые методы в перечисленных ниже классах были необходимы только для API 8 и более ранних версий, поэтому их больше не следует использовать. Вместо этого используйте реализации фреймворка.
android.support.v4.view.KeyEventCompat: заменить наKeyEventandroid.support.v4.view.MotionEventCompat: использоватьMotionEventandroid.support.v4.view.ViewCompat: использоватьViewandroid.support.v4.view.ViewConfigurationCompat: использоватьViewConfiguration
-
Метод
AccessibilityServiceInfoCompat.getDescription()устарел. Вместо него используйте методAccessibilityServiceInfoCompat.loadDescription(), который возвращает правильно локализованное описание. - Не создавайте экземпляры класса
ActivityCompatнапрямую. В одном из следующих выпусков методgetReferrer(Activity)будет сделан статическим. CoordinatorLayout.Behavior.isDirty()устарел и больше не вызываетсяCoordinatorLayout. Все реализации и вызовы этого метода следует удалить.- Метод
MediaSessionCompat.obtain()больше не поддерживается. Вместо него используется методfromMediaSession(), название которого лучше отражает его назначение. - Метод
MediaSessionCompat.QueueItem.obtain()устарел и был заменен более подходящим методомfromQueueItem(). - Несколько абстрактных классов были объявлены устаревшими и заменены интерфейсами, которые лучше отражают их аналоги в фреймворке.
AccessibilityStateChangeListenerCompatзаменен интерфейсомAccessibilityManagerCompat.AccessibilityStateChangeListener.OnCloseListenerCompatзаменен интерфейсомSearchViewCompat.OnCloseListener.OnQueryTextListenerCompatзаменен интерфейсомSearchViewCompat.OnQueryTextListener.
- Функция
CustomTabsSession.setToolbarItem()устарела и заменена наsetSecondaryToolbarViews()на основе RemoteViews.
Исправлены ошибки.
В версии 24.2.0 исправлены следующие известные проблемы:
- Убедитесь, что индикатор
SwipeRefreshLayoutпоказывается, когдаsetRefreshing(true)вызывается до первого прохода измерения (проблема 77712 в AOSP). - Устранена проблема с мерцанием
TabLayoutпри смене страниц (AOSP, проблема 180454). - Избегайте использования
ClassNotFoundExceptionпри десериализацииSavedStateна устройствах с уровнем API 11 и ниже (проблема 196430 на сайте AOSP)
Полный список исправлений общедоступных ошибок можно найти в системе отслеживания ошибок AOSP.
Версия 24.1.1
Июль 2016 г.
Устраненные проблемы:
- Исправлена проблема в версии 24.1.0, которая влияла на идентификаторы ресурсов, используемые в библиотеках поддержки. Из-за этой проблемы в приложениях, которые зависят от библиотек поддержки с ресурсами (например, design и appcompat), возникали ошибки, связанные с несоответствием идентификаторов ресурсов.
Версия 24.1.0
Июль 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
NotificationCompat.Action.WearableExtenderсодержит новые методыgetHintDisplayActionInline()иsetHintDisplayActionInline()для совместимости с предварительной версией Android Wear 2.0. Эти методы позволяют приложению указать, что действие должно быть показано в уведомлении.- Вызов
Fragment.setUserVisbileHint()больше не приводит к тому, что фрагмент становится запущенным, если подсказка была добавлена вFragmentTransaction, который ещё не был зафиксирован. Это влияет на пользователейFragmentPagerAdapter, которые переопределяютsetUserVisbileHint()и предполагают определенное состояние жизненного цикла фрагмента после вызоваsuper.setUserVisibleHint(). Дополнительную информацию можно найти на справочной странице документации поFragment.setUserVisbileHint().
Устраненные проблемы:
- TabLayout.setCustomView(null) приводит к NullPointerException (проблема 214753 в AOSP)
- TabLayout неправильно выделяет специальные вкладки (проблема 214316 в AOSP)
- AppCompatTextHelper использует массив атрибутов с неправильной сортировкой (проблема 214366 в AOSP)
- Невозможно сослаться на VectorDrawable из XML контейнера drawable при использовании пользовательского ContextWrapper (проблема AOSP 214055)
- ViewDragHelper.saveLastMotion() вызывает исключение ArrayIndexOutOfBoundsException (проблема 212945 в AOSP)
- При использовании setState(STATE_EXPANDED) BottomSheetBehavior разворачивается до высоты старого контента (проблема AOSP 213660)
- CollapsingToolbarLayout не обрабатывает закрепленные дочерние элементы с верхними или нижними полями (проблема AOSP 213001).
- Заголовок для просмотра в Leanback не поддерживает выравнивание по правому краю (проблема AOSP 213461)
- PagerTabStrip исчезает из-за отсутствия унаследованной аннотации (проблема AOSP 213359)
- При использовании логического значения для установки условных флагов привязка данных вызывает исключение NullPointerException (проблема AOSP 191841)
- CoordinatorLayout не реагирует на setFitsSystemWindows() (проблема AOSP 212720)
- Сбой BottomSheetBehavior при задании начального состояния (проблема AOSP 203114)
- ViewPager пропускает страницы, если индекс страницы имеет большое значение (проблема AOSP 211734)
- BottomSheetBehavior не работает с динамическими макетами (проблема AOSP 205226)
Версия 24.0.0
Июнь 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
- Добавлено
Fragment.commitNow()для синхронной фиксации - Добавлена функция
NotificationCompat.MessagingStyleдля групповых чатов. - Добавлено:
NotificationManagerCompat.areNotificationsEnabled()иgetImportance(). MediaSessionCompatтеперь выполняет те же функции, что иMediaSession, и больше не вызываетsetMediaButtonReceiver()автоматически.
Примечание. Только
MediaBrowserServiceCompatверсии 24.0.0 совместим с будущими версиями Android, которые будут выпущены после API 24. Если вы используете более ранние версии, обновите их до этой, чтобы обеспечить совместимость. - Добавлено
- Изменения в библиотеке appcompat версии 7:
-
- Добавлена поддержка ссылок на тематические объекты
ColorStateListиз XML
- Добавлена поддержка ссылок на тематические объекты
- Изменения в библиотеке поддержки дизайна:
-
- Улучшения в
AppBarLayoutобработке повышения прав с помощьюStateListAnimator
- Улучшения в
- Изменения в библиотеке Leanback версии 17:
-
- Добавлен тег
OnboardingFragmentдля первого запуска и настройки.
- Добавлен тег
- Изменения в пользовательских вкладках:
-
- Добавлена поддержка иерархии
RemoteViewsдля дополнительной панели инструментов - Добавлена строка
CustomTabsClient.connectAndInitialize()для разогрева.
- Добавлена поддержка иерархии
Версия 23.4.0
Май 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
- Устранена проблема, из-за которой фрагменты добавлялись в неправильном порядке. (Проблема 206901)
- Исправлена проблема, из-за которой панель приложений не отображалась после прокрутки за пределы экрана. (Проблема 178037)
- Изменения в библиотеке appcompat версии 7:
-
- Добавлен метод
AppCompatDelegate.setCompatVectorFromResourcesEnabled()DrawableContainer, позволяющий повторно включить использование векторных изображений в объектах на устройствах с Android 4.4 (уровень API 19) и более ранних версий. Подробнее о библиотеке AppCompat версии 23.2… - Исправлена ошибка в API 23, из-за которой
AppCompatDelegate.setDefaultNightMode()не загружал правильные ресурсы в API уровня 23. (Проблема 206573) - Исправлена ошибка, из-за которой мог возникать сбой
NullPointerException. (Проблема 207638)
- Добавлен метод
- Изменения в библиотеке поддержки дизайна:
-
- Исправлена ошибка, из-за которой
TextInputLayoutне удалял оттенок ошибки послеsetErrorEnabled(false)на уровне API 21–22 (проблема 202829). - Исправлена ошибка, из-за которой
FloatingActionButtonне возвращает значение при отключенных анимациях. (Проблема 206416) - Исправлена проблема с функцией прикрепления
AppBarLayout, которая возникала при использовании флагов прокрутки. (Проблема 207398)scroll|enterAlways|enterAlwaysCollapsed|snap
- Исправлена ошибка, из-за которой
- Изменения в библиотеке векторной графики :
-
- Исправлена ошибка, из-за которой символ
VectorDrawableCompatнеправильно отображался вTextViewна уровне API 23. (Проблема 206227)
- Исправлена ошибка, из-за которой символ
Версия 23.3.0
Апрель 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
- Добавлен тег
AppLaunchChecker, который позволяет отслеживать, как пользователь запускал приложение в прошлом.hasStartedFromLauncher()позволяет узнать, запускал ли пользователь ваше приложение с главного экрана или только другими способами (например, чтобы посмотреть определенные URL). - Устранена утечка памяти в приложении "
MediaBrowserServiceCompat.mConnections". (Проблема 205220) - Исправлена проблема, из-за которой
ViewPagerне учитывает поля страницы при ее перелистывании. (Проблема 203816) - Теперь
Fragment.onRequestPermissionsResult()передается дочерним фрагментам.
- Добавлен тег
- Изменения в библиотеке appcompat версии 7:
-
- Исправлена проблема в
AppCompatSpinner, из-за которой могло появляться несколько всплывающих окон. (Проблема 205052) - Исправлена проблема с цветом кнопок без границ. (Проблема 202967)
- Устранена проблема совместимости между
AppCompatDialogFragmentиAlertDialog. (Проблема 204805) - Отменены изменения в
TintResources, которые приводили к проблемам с памятью и конфигурацией. (Проблема 205236)
- Исправлена проблема в
- Изменения в библиотеке mediapouter версии 7:
-
- Исправлена работа ползунка громкости
MediaRouteControllerDialog. (Выпуск 202299)
- Исправлена работа ползунка громкости
- Изменения в библиотеке v7 Preference:
-
- Устранена проблема, из-за которой
PreferenceFragmentCompatдавал сбой, если был указан параметрdividerHeight. (Проблема 204778)
- Устранена проблема, из-за которой
- Изменения в библиотеке v7 recyclerview:
-
- Исправлена ошибка, из-за которой
RecyclerViewне вызывал обратные вызовы scroll, если диапазон видимых элементов уменьшался. (Проблема 200987) - Исправлена ошибка, из-за которой
RecyclerViewзависал, если он был в линейной разметке, имел вес и содержал изображения. (Проблема 203276) - Исправлена ошибка, приводящая к сбоям в
OrientationHelper.getStartAfterPadding(). (Проблема 180521) - Исправлен сбой, возникавший при использовании
android:nestedScrollingEnabled. (Проблема 197932)
- Исправлена ошибка, из-за которой
- Изменения в библиотеке поддержки дизайна:
-
- Исправлена ошибка, из-за которой скрытый нижний лист обрабатывал события касания. (Проблема 203654)
- Исправлена проблема с макетом
BottomSheetBehavior, когдаfitsSystemWindowsимеет значение true. (Проблема 203057) - Исправлена проблема с доступностью
Snackbar. (ошибка 182145) - Исправлена ошибка, из-за которой возникал сбой при проведении пальцем по экрану
Snackbar. (Проблема 203924) - Исправлена ошибка в
AppBarLayoutсenterAlways. (Проблема 203661) - Исправлена ошибка, из-за которой
TextInputLayoutбез необходимости удалял фильтр цвета фона объектаEditText. (Проблема 203357)
Версия 23.2.1
Март 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
- Исправлено исключение в
DrawableCompat.wrap()иLayerDrawableна API уровня 17–19. (проблема 201817) - Устранено исключение
ArrayIndexOutOfBoundsExceptionв классеViewDragHelper.shouldInterceptTouchEvent(). (Проблема 182262) - Исправлена ошибка в
ViewPager, связанная с расчетом прокрутки при изменении размера. - Исправлена ошибка
NullPointerException, возникающая при вызовеDrawerLayout.removeDrawerListener()без заданного значенияDrawerLayout.DrawerListener. (Проблема 202478) - Исправлена ошибка, из-за которой
ViewPagerне задает параметрыAccessibilityEventпри прокрутке. - Устранена неполадка, из-за которой при повороте устройства возникали задержки при использовании элемента
Drawable.wrap(). (Проблема 201924)
- Исправлено исключение в
- Изменения в библиотеке appcompat версии 7:
-
- Восстановлена зависимость от векторных объектов, чтобы разработчики, использующие библиотеку appcompat, не были вынуждены использовать
VectorDrawableи связанные с ним флаги сборки. - Исправлена проблема совместимости с ночным режимом и уровнем API 23. (Выпуск 201910)
- Исправлена проблема совместимости с
SwitchCompatи уровнем API 7. (Проблема 201942) - Исправлена проблема с распространением значений конфигурации в объектах ресурсов. Проблема 201928
- Устранена проблема совместимости, из-за которой кнопка отмены
android.support.v7.app.NotificationCompat.MediaStyleстановилась невидимой на устройствах с API версии 21 и ниже. (Проблема 202156) - Исправлена ошибка совместимости с
AppCompatSpinnerна устройствах с уровнем API 21 и ниже. (Проблема 202246) - Исправлена проблема, из-за которой не работал стиль
app:textAllCaps = "false". (Проблема 202117) - Исправлена ошибка, из-за которой происходил сбой при восстановлении
SearchView. (ошибка 201836) - Устранена утечка памяти, которая возникала при тонировании ресурсов drawable с помощью AppCompat. (Проблема 202379)
- Исправлена проблема с
KeyEventна уровне API 11 и ниже. (Проблема 202939)
- Восстановлена зависимость от векторных объектов, чтобы разработчики, использующие библиотеку appcompat, не были вынуждены использовать
- Изменения в библиотеке v7 cardview:
-
- Добавлена поддержка ночного режима для
CardView. (Проблема 194497)
- Добавлена поддержка ночного режима для
- Изменения в библиотеке v7 recyclerview:
-
- Исправлены ошибки, связанные с различными методами measure-spec. (ошибка 201856)
- Сокращен период блокировки, в течение которого
RecyclerViewне позволяет изменять адаптер при расчете макета или прокрутки. (Проблема 202046) - Исправлена ошибка, возникающая при вызове
notifyItemChanged()для элемента, который не виден. (Выпуск 202136) - Исправлен сбой, который возникал, когда
RecyclerView.LayoutManagerдобавлял и удалял представление в рамках одного сеанса сбора данных. (ошибка 193958)
- Изменения в библиотеке mediapouter версии 7:
-
- Исправлена ошибка, возникающая при вызове
MediaRouter.getInstance()на API уровня 17. (Проблема 180654)
- Исправлена ошибка, возникающая при вызове
- Изменения в версии 17 библиотеки Leanback:
-
- Исправлена проблема с
GridLayout.onAddFocusables(), из-за которой выбирался неверный элемент. - Исправлена проблема, из-за которой действия
GuidedStepFragmentисчезали после того, как действие было свернуто.
- Исправлена проблема с
- Изменения в библиотеке поддержки дизайна:
-
- Исправлен сбой
TabLayout, вызванный объединением вкладок. (Проблема 201827) - Исправлена ошибка в
NavigationView, из-за которой выбирался неправильный цвет. (Выпуск 201951) - Исправлена ошибка, из-за которой
setBackgroundTintList()больше не мог менять цвет фона. (Проблема 201873) - Исправлена ошибка, из-за которой при использовании
android:fitsSystemWindows = “true”элементAppBarLayoutне полностью прокручивался за пределы экрана. (Выпуск 201822) - Исправлена ошибка, из-за которой в
BottomSheetDialogнеправильно отображались короткие видео. (Проблема 201793) - Устранена проблема, из-за которой
BottomSheetDialogFragmentиногда перемещался при изменении контента внутри него. (Выпуск 202125) - Исправлена ошибка, приводящая к сбою счетчика TextInputLayout link
- Исправлена ошибка, из-за которой происходил сбой при восстановлении сохраненного состояния
TextInputLayout.getCounterMaxLength(). (Проблема 202375) - Исправлена ошибка
ClassCastException, которая возникала при восстановленииCoordinatorLayoutс использованием сохраненного состояния представления, не являющегосяCoordinatorLayout.
- Исправлен сбой
- Изменения в VectorDrawableCompat:
-
- Исправлена ошибка, из-за которой для
android:tintModeсчитывалась неправильная переменная. (Выпуск 201907)
- Исправлена ошибка, из-за которой для
Версия 23.2.0
Февраль 2016 г.
- Изменения в библиотеке поддержки версии 4:
-
- Добавлены свойства
MediaBrowserCompatдля поддержкиMediaBrowserиMediaBrowserServiceCompatдля поддержкиMediaBrowserService. Это полезно, когда фоновая служба медиаприложения подключается к компонентам интерфейса, а также при интеграции с Android Auto и Android Wear без необходимости использовать уровень API 21 или более поздний. - Теперь система вызывает
onActivityResult()для вложенного элементаFragmentActivity.
- Добавлены свойства
- Изменения в библиотеке AppCompat версии 7:
-
- Добавлена функция ночного режима для устройств с уровнем API 14 и выше. Переключаться между светлой и тёмной темами Material в зависимости от времени суток или настроек приложения.
-
- Темы "День" и "Ночь" можно найти здесь:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml AppCompatDelegate.setDefaultNightMode()– задает режим приложения по умолчанию, передавая одну из следующих констант:-
MODE_NIGHT_AUTOMODE_NIGHT_NOMODE_NIGHT_YESMODE_NIGHT_FOLLOW_SYSTEM
AppCompatDelegate.setLocalNightMode(): переопределяет настройку ночного режима для локального компонента приложения.AppCompatDelegate.getDefaultNightMode()– возвращает ночной режим по умолчанию.
- Темы "День" и "Ночь" можно найти здесь:
- Изменения в библиотеке mediarouter версии 7:
-
MediaRouteControllerDialogтеперь корректно применяет цвета пользовательской темы приложения.
- Изменения в библиотеке поддержки дизайна:
-
- Добавлена поддержка нижних листов. Плагин взаимодействия
BottomSheetBehaviorпозволяет дочернему представлению объектаCoordinatorLayoutдействовать как нижний лист. Базовый классBottomSheetCallbackпредоставляет обратные вызовы для отслеживания событий в нижней панели.
- Добавлена поддержка нижних листов. Плагин взаимодействия
- Изменения в библиотеке поддержки CustomTabs:
-
- Специальные вкладки Chrome теперь позволяют добавлять в приложения нижнюю панель с командными кнопками в дополнение к существующей верхней командной кнопке.
CustomTabsIntent.Builder.addToolBarItem()– добавляет кнопку действия на пользовательскую вкладку. С помощью этого параметра можно добавить несколько кнопок.CustomTabsSession.setToolBarItem(): обновляет изображения элементов панели инструментов. Этот метод будет выполнен успешно, только если ему передать действительный идентификатор и сеанс браузера находится на переднем плане.
- Добавлена библиотека поддержки VectorDrawable:
-
- Добавленные курсы:
-
VectorDrawableCompatAnimatedVectorDrawableCompat
- Добавлена поддержка объектов
VectorDrawableв приложениях, работающих на устройствах с уровнем API 7 или выше. ОбъектыAnimatedVectorDrawableтакже поддерживаются на уровне API 11 и выше. Векторные объекты могут быть значительно меньше графических и помогают уменьшить размер приложения, поскольку для поддержки экранов разных устройств требуется меньше объектов. - Теперь эта библиотека является зависимостью библиотеки AppCompat версии 7, что позволяет разработчикам и AppCompat легко использовать векторные изображения. Чтобы использовать
VectorDrawableCompatвImageButtonилиImageView, используйте атрибут XMLapp:srcCompatили методsetImageResource(). - Чтобы продолжить ссылаться на идентификаторы атрибутов на уровне API 20 или ниже, добавьте в файл
build,gradleследующий флагappt: -
- Если вы используете Android Plugin for Gradle версии 1.5.0 или более ранней, добавьте в файл
build.gradleследующие строки: -
android { defaultConfig { // Stops the Gradle’s automatic rasterization of vectors generatedDensities = [] } // Flag that tells aapt to keep the attribute ids aaptOptions { additionalParameters "--no-version-vectors" } }
- Если вы используете Android Plugin for Gradle версии 2.0.0 или более поздней, добавьте в файл
build.gradleследующее: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Если вы используете Android Plugin for Gradle версии 1.5.0 или более ранней, добавьте в файл
- Изменения в библиотеке Leanback версии 17:
-
- В компонент
GuidedStepFragment, который помогает пользователям принимать решения, добавлены новые возможности: -
- Добавлены действия для кнопок в
GuidedAction: GuidedStepFragment.setButtonActions()– задает список кнопокGuidedAction, которые пользователь может выбрать в представлении "Действия".- Теперь можно редактировать поля описания:
-
GuidedAction.Builder.descriptionEditable()– при передачеtrueустанавливает для описания действия возможность редактирования.GuidedAction.getEditDescription()– возвращает редактируемое описание в видеCharSequence.
- Добавлены раскрывающиеся списки вложенных действий:
-
GuidedAction.setSubActions()– задает списокGuidedActionв виде раскрывающегося меню с поддействиями.
- Добавлены действия для кнопок в
- Добавлен виджет
GuidedDatePickerActionдля функцииDatePicker: -
- Дата выбирается с помощью столбцов года, месяца и дня и имеет настраиваемый диапазон.
GuidedDatePickerAction.Builder– класс конструктора для объектаGuidedDatePickerAction.GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): задайте нужный формат даты, передав соответствующий трехсимвольный кодString, например“YMD”или“MDY”. Также можно использовать атрибут XMLdatePickerFormat.
- В компонент
- Изменения в библиотеке v7 RecyclerView:
-
- В
RecyclerViewтеперь есть функция AutoMeasure, которая позволяетRecyclerView.LayoutManagerлегко обернуть контент или обработать различные спецификации измерений, предоставленные родительским элементомRecyclerView. Он поддерживает все существующие возможности анимацииRecyclerView. -
- Если у вас есть настраиваемый тег
RecyclerView.LayoutManager, вызовите функциюsetAutoMeasureEnabled(true), чтобы начать использовать новый AutoMeasure API. Все встроенные объектыRecyclerView.LayoutManagerпо умолчанию включают автоматический сбор данных. RecyclerView.LayoutManagerбольше не игнорирует некоторые настройкиRecyclerView.LayoutParams, напримерMATCH_PARENTв направлении прокрутки.Примечание. Снятие ограничений может привести к неожиданному поведению макетов. Убедитесь, что вы указали правильные параметры макета.
- Если у вас есть настраиваемый тег
- При обновлении
RecyclerView.ViewHolderс информацией о полезной нагрузкеDefaultItemAnimatorтеперь отключает анимацию изменений. - Теперь вы можете изменить
ItemTouchHelperскорость убегания, чтобы настроить чувствительность к пролистыванию. Чтобы изменить чувствительность к пролистыванию, переопределитеgetSwipeEscapeVelocity(float defaultValue)и изменитеdefaultValue.
- В
Версия 23.1.1
Ноябрь 2015 г.
- Изменения в библиотеке v7 recyclerview
-
- Исправлен сбой, который возникал при выполнении действия "Провести, чтобы закрыть", предоставляемого вспомогательным классом
ItemTouchHelper, а затем добавлении элемента. (Проблема 190500)
- Исправлен сбой, который возникал при выполнении действия "Провести, чтобы закрыть", предоставляемого вспомогательным классом
- Изменения в библиотеке настроек версии 7
-
- Исправлена проблема с использованием ProGuard. (ошибка 183261).
- Изменения в библиотеке поддержки Leanback версии 17
-
- Исправлены внутренние ошибки в библиотеке.
- Изменения в библиотеке поддержки дизайна:
-
- В класс
NavigationViewдобавлен методgetHeaderView. - Исправлена проблема с прозрачным фоном для объекта
FloatingActionButtonна устройствах с Android 4.0 (уровень API 15) и более ранних версий. (Проблема 183315)
- В класс
Версия 23.1.0
Октябрь 2015 г.
- Изменения в библиотеке поддержки версии 4
-
- В виджет
NestedScrollViewдобавлена поддержка интерфейсаOnScrollChangedListener. Он позволяет получать обратные вызовы при изменении позиций прокрутки по оси X или Y. - Добавлен класс
MediaButtonReceiverдля пересылки полученных элементов управления воспроизведением в сервис, управляющий классомMediaSessionCompat. У классаMediaSessionCompatесть конструктор, который может автоматически найти получателя кнопки мультимедиа в манифесте. Приемник медиакнопок – ключевой компонент для управления воспроизведением с помощью аппаратных или Bluetooth-элементов управления.
- В виджет
- Изменения в библиотеке v7 appcompat
-
- Добавлены виджеты
SeekbarиImageButtonв стиле Material Design. - В виджет
ImageViewдобавлена поддержка функции тонирования. - Обновлен внешний вид виджета
SwitchCompat.
- Добавлены виджеты
- Изменения в библиотеке MediaRouter версии 7
-
- В класс
MediaRouteChooserDialogдобавлены следующие функции: - Показывает страницу загрузки во время поиска поставщиков маршрутов мультимедиа.
- Добавлен значок типа устройства, чтобы его было проще идентифицировать.
- Сортирует маршруты по частоте использования в текущем приложении.
- Поддерживает горизонтальный режим.
- В класс
MediaRouteControllerDialogдобавлены следующие функции: - Распознает трансляцию экрана и предоставляет подходящее описание.
- Поддерживает обложки альбомов разных размеров и соотношений сторон, а также асинхронную загрузку.
- Автоматически выбирает цвет контента на основе основного цвета приложения.
- Макет диалогового окна будет подстраиваться под доступное место на экране устройства.
- Поддерживает горизонтальный режим.
- В класс
- Изменения в библиотеке палитр версии 7
-
- Добавлен метод
setRegion(), позволяющий извлекать цвет из определенной области объектаBitmap.
- Добавлен метод
- Изменения в библиотеке v7 recyclerview
-
- В класс
ItemAnimatorдобавлен улучшенный API анимации, который позволяет более точно настраивать: - Анимация изменений больше не требует двух копий объекта
ViewHolder, что позволяет создавать анимацию контента элементов. Кроме того, объектItemAnimatorопределяет, следует ли использовать тот же объектViewHolderили создать новый. - Новый API записи информации позволяет классу
ItemAnimatorсобирать данные в нужный момент жизненного цикла макета. Эта информация затем передается в обратные вызовы анимации.
- Мы предусмотрели простой план перехода на новую версию API, несовместимую с предыдущей:
- Если вы ранее расширили класс
ItemAnimator, вы можете изменить базовый класс наSimpleItemAnimator, и ваш код будет работать как раньше. КлассSimpleItemAnimatorпредоставляет старый API, обернув новый API. - Из класса
ItemAnimatorбыли удалены некоторые методы. Следующий код больше не будет компилироваться:
Kotlin
recyclerView.itemAnimator.supportsChangeAnimations = false
Java
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
Вы можете заменить его на:
Kotlin
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Java
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- В класс
- Изменения в библиотеке поддержки настроек версии 7, версии 14 и версии 17:
-
- Удалены API для управления диалоговыми окнами
EditText.
- Удалены API для управления диалоговыми окнами
- Изменения в библиотеке поддержки Leanback версии 17
-
- Добавлена версия класса
GuidedStepFragmentдля библиотеки поддержки (расширяетandroid.support.v4.app.Fragment), а также улучшены анимации и переходы. - Обновлен класс
GuidedStepFragment, чтобы его можно было размещать поверх существующего контента. - Добавлена возможность аннотировать разные типы автозаполнения поисковых запросов в класс
SearchFragment. - В класс
VerticalGridFragmentдобавлена поддержка перехода слайдов с задержкой.
- Добавлена версия класса
- Изменения в библиотеке поддержки дизайна:
-
- В виджет
TextInputLayoutдобавлена поддержка подсчета символов. - В класс
AppBarLayoutдобавлена поддержка привязки к краям с помощью константыSCROLL_FLAG_SNAP. Если после прокрутки элемент виден лишь частично, он будет автоматически прокручен до ближайшего края. - Добавлена поддержка специальных представлений для класса
NavigationViewс помощью атрибутаapp:actionLayoutили методаMenuItemCompat.setActionView().
- В виджет
- Изменения в библиотеке поддержки специальных вкладок
-
- В класс
CustomTabsIntentдобавлен методenableUrlBarHiding(). Оно позволяет клиенту настроить, будет ли адресная строка автоматически скрываться при прокрутке вниз. - В класс
CustomTabsSessionдобавлен методsetActionButton(). Он позволяет клиенту изменить значок кнопки настраиваемого действия в уже запущенной специальной вкладке. - Добавлены константы
TAB_SHOWNиTAB_HIDDENв качестве новых событий для методаonNavigationEventклассаCustomTabsCallback.
- В класс
Версия 23.0.1
Сентябрь 2015 г.
- Изменения в библиотеке поддержки предпочтений версии 7 и версии 14:
-
- Добавлены файлы макета и стиля Material Design. (ошибка 183376)
- Изменения в библиотеке v7 appcompat
-
- Устранены проблемы со сбоями для класса
Fragmentпутем ограничения использования аппаратных слоев до Android 4.1 (уровень API 16) и более поздних версий. (ошибка 183896). - Исправлена ошибка, из-за которой аппаратные кнопки не работали, когда активность задавала класс
Toolbarв качествеActionBarс помощью методаsetSupportActionBar(). (Проблема 183334) - Обновлен класс
AppCompatDialogFragment, чтобы больше не возникала ошибкаWindows feature must be requested before adding content. (Проблема 183186)
- Устранены проблемы со сбоями для класса
- Изменения в библиотеке поддержки дизайна:
-
- Исправлена ошибка, из-за которой класс
AppBarLayoutнеправильно отрисовывался после поворота. (проблема 183109) - Исправлена ошибка, из-за которой класс
TabLayoutработал неправильно, когда пользователь нажимал на экран после пролистывания. (Проблема 183123)
- Исправлена ошибка, из-за которой класс
- Изменения в библиотеке поддержки специальных вкладок
-
- Значение
minSdkVersionснижено с 16 до 15 для поддержки версий. - Добавлена возможность создавать
CustomTabsSessionTokenна основе намерения.
- Значение
Версия 23
Август 2015 г.
- Добавлены новые библиотеки поддержки:
Полный список изменений в библиотеке поддержки приведен в отчете о различиях в API библиотеки поддержки.
Версия 22.2.1
Июль 2015 г.
- Изменения в библиотеке поддержки дизайна:
-
- В класс
FloatingActionButtonдобавлены методыhide()иshow()для программного запуска анимации. - В класс
Snackbarдобавлен константLENGTH_INDEFINITEдля показа уведомления, пока оно не будет закрыто или пока не будет показано другое уведомление. Также добавлены методыsetActionTextColor(int)иsetActionTextColor(ColorStateList). - В класс
TabLayoutдобавлен методgetSelectedTabPosition()для получения текущей выбранной вкладки. - Для класса
android.support.v7.app.NotificationCompat.MediaStyleреализован полностью гибкий API, позволяющий объединять методы в цепочки. - В
RecyclerViewдобавлены удобные методы для пакетной вставки объектов.
- В класс
Полный список изменений в библиотеке поддержки приведен в отчете о различиях в API библиотеки поддержки.
Версия 22.2.0
Май 2015 г.
- Добавлена библиотека поддержки дизайна:
-
- Добавлен элемент
TextInputLayoutдля показаEditTextподсказок и текста ошибок в виде плавающих ярлыков. - Добавлен элемент
FloatingActionButtonдля реализации основного действия в интерфейсе в виде плавающей кнопки действия, поддерживающей стандартный и миниатюрный размеры. - Добавлен
Snackbarдля предоставления простого отзыва с необязательным действием в анимированном снекбаре. - Добавлен
TabLayoutдля реализации фиксированных и прокручиваемых вкладок, а также для простой интеграции сViewPager. - Добавлен класс
NavigationViewдля реализации содержимого панели навигации, в том числе возможности развертывания пунктов меню с помощью ресурса меню. - Добавлен
CoordinatorLayout– макет общего назначения, который используется для создания зависимостей между соседними представлениями и позволяет легко прокручивать компоненты с помощьюCoordinatorLayout.Behavior. Многие компоненты библиотеки дизайна должны быть дочерними элементамиCoordinatorLayout. - Добавлен элемент
AppBarLayout– контейнер для элементаToolbarи других представлений (например,TabLayout), позволяющий реагировать на события прокрутки, скрываясь с экрана, появляясь при прокрутке вниз или сворачиваясь и разворачиваясь до того, как исчезнуть с экрана или появиться на нем. - Добавлен параметр
CollapsingToolbarLayout, позволяющий управлять тем, как сворачиваетсяToolbar. Панель инструментов может сворачиваться, если: закрепить компоненты в верхней части экрана, пока она сворачивается; добавить эффект параллакса для компонентов, напримерImageView; добавить цвет полупрозрачного слоя, когда панель частично свернута.
- Добавлен элемент
- Изменения в библиотеке поддержки версии 4
-
- В класс
AccessibilityEventCompatдобавлены методыgetContentChangeTypes()иsetContentChangeTypes(), а также связанные с ними поля типа изменений для обработки событий специальных возможностей. - В класс
PlaybackStateCompatдобавлены методыgetActiveQueueItemId(),getCustomActions()иgetExtras()с полями состояния для получения пользовательских действий из очереди. - В класс
PlaybackStateCompat.Builderдобавлены методыaddCustomAction(),setActiveQueueItemId()иsetExtras(), позволяющие добавлять особые действия в состояние воспроизведения. - В класс
PlaybackStateCompat.CustomActionдобавлены методыfromCustomAction()иgetCustomAction()для получения специальных действий из очереди. - В класс
ViewCompatдобавлены методыisAttachedToWindow(),offsetLeftAndRight()иoffsetTopAndBottom()для работы с представлениями. - В класс
ViewPagerдобавлены методыaddOnPageChangeListener(),clearOnPageChangeListeners()иremoveOnPageChangeListener()для реагирования на изменения страниц.Метод
ViewPager.setOnPageChangeListener()объявлен устаревшим. - В класс
ViewParentCompatдобавлен методnotifySubtreeAccessibilityStateChanged(), который позволяет уведомлять родительский элемент о том, что состояние доступности одного из его дочерних элементов изменилось. - В класс
ViewPropertyAnimatorCompatдобавлены методыtranslationZ(),translationZBy(),z()иzBy()для добавления анимации.
- В класс
- Изменения в библиотеке v7 appcompat:
-
- В классы
AppCompatActivity,AppCompatCallbackиAppCompatDialogдобавлен методonWindowStartingSupportActionMode()для обработки режимов действий, запущенных из текущего окна. - В класс
AppCompatDelegateдобавлены методыisHandleNativeActionModesEnabled()иsetHandleNativeActionModesEnabled()для работы с нативными режимами действий.
- В классы
Полный список изменений в библиотеке поддержки приведен в отчете о различиях в API библиотеки поддержки.
Версия 22.1.0
Апрель 2015 года
- Изменения в библиотеке аннотаций:
-
- Добавлена библиотека аннотаций для поддержки улучшенных проверок кода. Аннотации добавляются в виде тегов метаданных, которые прикрепляются к переменным, параметрам и возвращаемым значениям, чтобы проверять возвращаемые значения методов, переданные параметры, а также локальные переменные и поля.
- Изменения в библиотеке поддержки версии 4
-
- Добавлен класс
ColorUtils, который содержит набор вспомогательных методов, связанных с цветом. - В класс
DrawableCompatдобавлены методыunwrap()иwrap(), позволяющие использоватьsetTint(),setTintList()иsetTintMode()на всех устройствах с уровнем API 4 или выше. - Добавлен класс
TraceCompatдля записи событий трассировки в буфер трассировки системы, которые затем можно собрать и визуализировать с помощью инструмента Systrace. - Добавлен класс
CircularIntArrayдля создания циклических структур данных целочисленных массивов. - В класс
CircularArrayдобавлены методыclear(),removeFromStart()иremoveFromEnd(). Кроме того, существующие методы в этом классе были изменены на нефинальные. - Добавлен класс
InputDeviceCompatв качестве вспомогательного класса для доступа к данным в классеInputDeviceCompat. - Добавлен класс
LayoutInflaterCompatв качестве вспомогательного класса для доступа к данным в классеLayoutInflaterCompatи добавлен интерфейсLayoutInflaterFactory. - Добавлены классы, методы и интерфейсы для поддержки вложенной прокрутки.
- Добавлены вспомогательные классы
NestedScrollingChildHelperиNestedScrollingParentHelperдля реализации вложенных родительских и дочерних представлений с прокруткой. - Добавлен интерфейс
NestedScrollingChild, который должны реализовать подклассыView. - Добавлены интерфейсы
NestedScrollingParentиScrollingViewдля поддержки операций прокрутки и предоставления API, связанных с прокруткой. - В класс
ViewGroupCompatдобавлен методgetNestedScrollAxes(). - В класс
ViewParentCompatдобавлены методы для поддержки вложенной прокрутки. - Добавлен класс
NestedScrollViewдля поддержки вложенной прокрутки родительского и дочернего элементов в новых и старых версиях Android.
- Добавлены вспомогательные классы
- В класс
MotionEventCompatдобавлены методы и константы для получения значений осей и источника событий. - В класс
AccessibilityNodeInfoCompatдобавлены методы для обработки ошибок, аннулирования контента и меток. - Добавлены следующие классы интерполяции для анимации:
FastOutLinearInInterpolator,FastOutSlowInInterpolator,LinearOutSlowInInterpolator,LinearOutSlowInInterpolatorиPathInterpolatorCompat. - Добавлен класс
Space, позволяющий создавать промежутки между компонентами в макетах общего назначения. Этот класс устарел в библиотеке gridlayout. - Добавлен класс
TextViewCompatдля доступа к функциям вTextView. - В метод
onPull()классаEdgeEffectCompatдобавлен параметр смещения.
- Добавлен класс
- Изменения в библиотеке v7 appcompat:
-
- Добавлена поддержка оттенков для виджетов appcompat, в том числе для следующих:
AppCompatAutoCompleteTextView,AppCompatButton,AppCompatCheckBox,AppCompatCheckedTextView,AppCompatEditText,AppCompatMultiAutoCompleteTextView,AppCompatRadioButton,AppCompatRatingBar,AppCompatSpinnerиAppCompatTextView. - Обновлен класс
AppCompatActivity, который используется в качестве базового для действий, использующих функции панели действий библиотеки поддержки. Этот класс заменяет устаревший классActionBarActivity. - Добавлен интерфейс
AppCompatCallback, который нужно реализовать для AppCompat, чтобы выполнять обратные вызовы. - Добавлен абстрактный класс
AppCompatDelegateв качестве делегата, который можно использовать для расширения поддержки AppCompat на любое действие. - Добавлен класс
AppCompatDialogв качестве базового класса для диалоговых окон с темами AppCompat. - Добавлены стили спиннера
AlertDialogиAlertDialog.Builder, чтобы предоставитьAlertDialogс темой AppCompat. - Добавлен класс
Palette.Builderдля создания экземпляровPalette.- В класс
Paletteдобавлен методfrom(Bitmap), который позволяет начать генерировать палитру с помощью возвращенного экземпляраPalette.Builder. - Методы
Palette.generate()иPalette.generateAsync()больше не поддерживаются.
- В класс
- В класс
GridLayout.Specдобавлен методgetAbsoluteAlignment(). - Устаревшее использование
app:themeдля стилизацииToolbar. Теперь вы можете использоватьandroid:themeдля панелей инструментов на всех устройствах с уровнем API 7 и выше, а такжеandroid:themeдля всех виджетов на устройствах с уровнем API 11 и выше.
- Добавлена поддержка оттенков для виджетов appcompat, в том числе для следующих:
- Изменения в библиотеке Leanback версии 17:
-
- Добавлены значки
GuidedStepFragment,GuidanceStylistиGuidedActionsStylist, чтобы можно было создавать многоэтапные потоки принятия решений.
- Добавлены значки
- Изменения в библиотеке recyclerview версии 7:
-
- Добавлены классы
SortedListдля отображения элементов в списке и уведомлений об изменениях в нем. - Добавлен класс
SortedListAdapterCallback, который может привязать отсортированный список к классуRecyclerView.Adapter.
- Добавлены классы
- Изменения в библиотеке RenderScript версии 8:
-
- Добавлен класс
ScriptIntrinsicHistogramдля использования в качестве фильтра гистограммы. - Добавлен класс
ScriptIntrinsicResizeдля изменения размера двумерного распределения.
- Добавлен класс
- Изменения в библиотеке поддержки версии 4
-
- Метод
getDrawable()теперь возвращает объект drawable для указанного идентификатора ресурса, плотности экрана и темы. - Добавлен метод
setImportantForAccessibility(), позволяющий указать, должно ли представление вызывать события доступности. - Добавлен метод
getStatusBarBackgroundDrawable(), позволяющий получить фон строки состояния в виде объекта Drawable. - Добавлены методы в класс
NotificationCompat.CarExtender.UnreadConversation, чтобы приложения для обмена сообщениями в Android Auto могли получать дополнительные данные уведомлений. - Добавлен метод
getProgressCircleDiameter(), возвращающий диаметр круговой макета. - Изменен цвет строки статуса по умолчанию с
DrawerLayoutнаcolorPrimaryDark.
- Метод
- Изменения в библиотеке v7 appcompat:
-
- Добавлен стиль спиннера
Base_Widget_AppCompat_Spinner_Underlined. - Добавлены стили виджетов с оттенками:
Widget_AppCompat_AutoCompleteTextView,MultiAutoCompleteTextView,TextAppearance_AppCompat_ButtonиBase_Widget_AppCompat_RatingBar.
- Добавлен стиль спиннера
- Изменения в библиотеке Leanback версии 17:
-
- Добавлены методы
getRecycledPoolSize()иsetRecycledPoolSize(), позволяющие задавать собственные размеры пулов повторно используемых объектов. - В настройку ширины макета добавлен атрибут
WRAP_CONTENT, чтобы поддерживать перенос контента для значков заголовков. - Определено значение
R.transitionв XML-файле, чтобы улучшить переход между обновлениями. - Добавлена поддержка макетов с письмом справа налево.
- Добавлена поддержка ключевых событий воспроизведения и паузы в класс
PlaybackOverlayFragment. - Добавлены переходы при вводе и возврате в класс
BrowseFragmentи классDetailsFragment. - Добавлен метод
replace()для замены элементов в массиве адаптера объекта.
- Добавлены методы
- Изменения в библиотеке MediaRouter версии 7:
-
- Обновлены значки Google Cast в стиле Material Design.
- Обновлены все значки, используемые в диалоговых окнах
MediaRouter, в соответствии со стилем Material Design.
- Изменения в библиотеке v7 recyclerview:
-
- В класс
RecyclerViewдобавлены методыgetlayoutPosition()иgetadapterPosition(). - Устарели методы
classgetChildPosition()иfindViewHolderForPosition()в классеRecyclerView. - Устаревший метод
getPosition()в классеRecyclerView.ViewHolder. - Устаревший метод
getViewPosition()в классеRecyclerView.LayoutParams.
- В класс
- Изменения в библиотеке поддержки версии 4
-
- Добавлено несколько методов
NotificationCompat.WearableExtender, чтобы улучшить отображение штрихкодов в уведомлениях на носимых устройствах.
- Добавлено несколько методов
- Изменения в библиотеке поддержки версии 4
-
- Добавлен класс
NotificationCompat.CarExtenderдля поддержки расширений Android Auto для уведомлений.
- Добавлен класс
- Изменения в библиотеке v7 appcompat:
-
- Добавлен конструктор
PopupMenuдля поддержки новых всплывающих меню. - Добавлена поддержка описания значка "Свернуть" в классе
Toolbar. - Виджет
SearchViewтеперь поддерживает отображениеcommitIcon. - Из класса
Toolbarудален атрибутbuttonGravity.
- Добавлен конструктор
- Изменения в библиотеке v7 cardview:
-
- Добавлен API
setCardBackgroundColor(ColorStateList)для поддержки изменения цвета фонаCardView. - Значение
CardViewизменено, чтобы более точно передавать значение непрозрачности какTRANSLUCENT.
- Добавлен API
- Изменения в библиотеке v7 recyclerview:
-
- В класс
RecyclerViewдобавлены константыTOUCH_SLOP_DEFAULTиTOUCH_SLOP_PAGINGдля поддержки конфигураций сенсорного экрана при пролистывании страниц.
- В класс
- Изменения в библиотеке Leanback версии 17:
-
- Добавлена поддержка создания фрагментов кода версии 4.
- Изменен цвет дополнительного текста на
CardView.
- Добавлена библиотека поддержки multidex для поддержки нескольких исполняемых файлов Dalvik (DEX) для многофайловых приложений до Android 5.0.
- Изменения в библиотеке поддержки версии 4
-
- Добавлена поддержка переходов
Fragmentдля устройств с Android 5.0 (уровень API 21). Обратите внимание, что переходы не работают на устройствах с Android 4.4 и более ранних версий. - Добавлен элемент
DocumentFile, чтобы упростить переход сFileпри работе с деревом документов. Однако этот класс требует больше вычислительных ресурсов, чемDocumentsContractAPI, добавленный в Android 4.4 (уровень API 19). Поэтому при работе с Android 4.4 и более поздними версиями следует использоватьDocumentsContract.
- Добавлена поддержка переходов
- Изменения в библиотеке v7 appcompat:
-
- Добавлена поддержка пользовательских интерфейсов Material Design.
- Добавлен тег
Toolbar, который обобщает функциональность тегаActionBarдля использования в макетах приложений. - Обновлено
ActionBarDrawerToggle, в котором содержится анимация перехода от меню к стрелке - Обновлены виджеты общего пользовательского интерфейса, чтобы их можно было окрашивать с помощью атрибутов темы на устройствах с версией ОС ниже Android 5.0.
- Добавлен
SwitchCompat– портированная версия виджетаSwitch, который был добавлен в Android 4.0 (уровень API 14).
- Новая библиотека v7 cardview:
-
- Добавлен виджет
CardView, который позволяет показывать элементы данных в соответствии с принципами Material Design.
- Добавлен виджет
- Новая библиотека v7 recyclerview:
-
- Добавлен виджет
RecyclerView, который позволяет просматривать ограниченный объем данных из большого набора в виде списка.
- Добавлен виджет
- Новая библиотека палитр v7:
-
- Добавлен класс
Palette, который позволяет извлекать основные цвета из изображения.
- Добавлен класс
- Новая библиотека Leanback версии 17:
-
- Добавлена поддержка создания интерфейсов для телевизоров, в том числе
BrowseFragment,DetailsFragmentиPlaybackOverlayFragment. Подробнее об использовании этих виджетов интерфейса рассказывается в статье Создание приложений для воспроизведения на телевизоре.
- Добавлена поддержка создания интерфейсов для телевизоров, в том числе
- Изменения в библиотеке поддержки версии 4:
-
- В версии
NotificationCompat.WearableExtenderдобавлена расширенная поддержка уведомлений для Android Wear, которая позволяет указывать в уведомлениях функции, предназначенные для носимых устройств. - Добавлен тег
NotificationCompat.Action.WearableExtender, позволяющий добавлять действия в уведомления на носимых устройствах. - Добавлена функция
NotificationManagerCompat, которая позволяет отправлять уведомления с поддержкой функций носимых устройств. - Добавлено разрешение
RemoteInput, которое позволяет мобильному устройству получать голосовой ввод из уведомления, появляющегося на носимом устройстве. - Улучшена обработка тактильной обратной связи в
SwipeRefreshLayout.
- В версии
- Изменения в библиотеке поддержки версии 4:
-
- Добавлен класс
SwipeRefreshLayout, который позволяет пользователям обновлять содержимое представления с помощью вертикального жеста смахивания. - Устранены проблемы со специальными возможностями в выдвижных меню.
- Добавлен класс
- Изменения в библиотеке appcompat версии 7:
-
- Исправлены проблемы с фоном панели действий.
- Изменения в библиотеке поддержки версии 4:
-
- Улучшена
PrintHelperза счет добавления асинхронной обработки печати. - Исправлена аппроксимация класса
DrawerLayoutдля методаaddChildrenForAccessibility(). - Исправлено зеркальное отображение слайдов в
ActionBarDrawerToggle. - Исправлена ошибка, возникавшая при удалении элемента из итератора коллекции.
- Улучшена
- Изменения в библиотеке mediarouter версии 7:
-
- Улучшенное определение маршрута благодаря использованию полного названия компонента в поле
MediaRouteProvider.ProviderMetadata. - Обновление
MediaRouteChooserDialogпозволяет скрывать отключенные маршруты.
- Улучшенное определение маршрута благодаря использованию полного названия компонента в поле
- Изменения в библиотеке RenderScript версии 8
-
- Добавлено распространение ошибок для уровня RenderScript.
- Изменения в библиотеке поддержки версии 4:
-
- Добавлена поддержка внешних API хранилища с помощью
getObbDirs(),getExternalFilesDirs(),getExternalCacheDirs()иgetStorageState(). На устройствах с Android 4.3 (уровень API 18) и более ранних версий эти вспомогательные методы всегда возвращают один объект файла. При работе на Android 4.4 (уровень API 19) и более поздних версиях эти методы могут возвращать более одного объекта файла. - Добавлен класс
PrintHelper, который работает с API печати и позволяет печатать изображения с минимальным количеством кода. - Добавлена поддержка перетаскивания для открытия всплывающих меню. Дополнительную информацию можно найти по адресам
PopupMenuCompatиListPopupWindowCompat. - Улучшена поддержка специальных возможностей: добавлен метод
findFocus()вAccessibilityNodeProviderCompatи методgetLiveRegion()вAccessibilityNodeInfoCompat. - Добавлен вспомогательный класс
ScaleGestureDetectorCompatдля доступа к новым методам масштабирования. - Исправлена проблема с символом
ActionBarDrawerToggleпри отображении текста на языках с направлением письма справа налево. - Изменен параметр
AutoScrollHelper, позволяющий обрабатывать события касания или передавать их другим представлениям.
- Добавлена поддержка внешних API хранилища с помощью
- Изменения в библиотеке mediarouter версии 7:
-
- Добавлена поддержка очереди воспроизведения медиаконтента, установки значений заголовков HTTP и продолжительности воспроизведения медиаконтента.
- Добавлены явные действия для начала, получения и завершения сеанса, позволяющие управлять сеансами воспроизведения медиаконтента с помощью медиамаршрутизатора.
- Изменения в библиотеке поддержки версии 4:
-
- Пользовательский интерфейс
- Добавлен символ
BidiFormatterдля обработки текстовых строк, в которых сочетаются тексты с форматированием справа налево и слева направо. - Изменено поведение
ViewPager, чтобы лучше обрабатывать случаи, когда ширина пейджера равна нулю при первоначальной обработке макета. - Изменения в
DrawerLayoutиSlidingPaneLayout: теперь при редактировании кода проекта не возникает исключений для сбора данных.
- Добавлен символ
- Специальные возможности
- Добавлен тег
ExploreByTouchHelper, чтобы упростить реализацию специальных возможностей для пользовательских представлений. - Исправлена проблема, из-за которой
ViewPagerнеправильно заполнял события доступностиTYPE_VIEW_SCROLLED. - Исправлено исключение указателя null в теге
ViewPagerпри заполнении события доступности. - Упрощенный
AccessibilityNodeInfoCompatпутем изменения входных данныхCharSequenceна объектыString. - Устаревший конструктор
AccessibilityRecordCompat, который использовалObjectв качестве входных данных.
- Добавлен тег
- Медиа
- Добавлен вспомогательный класс
TransportMediatorдля управления воспроизведением медиаконтента, например для запуска, приостановки, пропуска и других действий. - Добавлен параметр
DisplayManagerCompatдля управления выводом изображения на один или несколько экранов устройства.
- Добавлен вспомогательный класс
- Другие изменения
- Добавлен вспомогательный класс
WakefulBroadcastReceiverдля реализации стандартного способа обнаружения события пробуждения устройства и передачи задачи вService. При этом устройство не переходит в спящий режим до завершения передачи. - В
AsyncTaskLoaderдобавлены два новых API:commitContentChanged()иrollbackContentChanged(). Они помогают обрабатывать фоновые обновления для изменений данных, которые впоследствии отменяются.
- Добавлен вспомогательный класс
- Пользовательский интерфейс
- Новая библиотека v7 appcompat:
-
- Добавлен элемент
ActionBar, позволяющий реализовать шаблон дизайна интерфейса панели действий в Android 2.1 (уровень API 7) и более поздних версиях. Чтобы использовать этот класс, реализуйте свое действие, расширив новый классActionBarActivity.
- Добавлен элемент
- Новая библиотека медиамаршрутизатора v7:
-
Добавлена новая библиотека mediarouter, которая поддерживает предварительную версию Google Cast для разработчиков. API библиотеки mediarouter версии 7 позволяют управлять маршрутизацией медиаканалов и потоков с текущего устройства на внешние экраны, колонки и другие устройства. Библиотека совместима с Android 2.1 (уровень API 7) и более поздними версиями. Подробнее о библиотеке mediapouter V7…
API библиотеки mediarouter версии 7, представленные в библиотеке поддержки версии 18, могут быть изменены в более поздних версиях библиотеки поддержки. В настоящее время мы рекомендуем использовать библиотеку только в связи с предварительной версией Google Cast для разработчиков.
- Изменения в библиотеке поддержки версии 4:
-
- Добавлен элемент
DrawerLayoutдля создания панели навигации, которую можно выдвинуть с края окна. - Добавлен виджет
SlidingPaneLayoutдля создания связанных сводных и подробных представлений, которые корректно адаптируются к экранам разных размеров. - Добавлена функция
ActionBarDrawerToggle, которая объединяет функцииDrawerLayoutиActionBar. - Добавлен новый общий компонент
ViewDragHelperдля перетаскивания представлений в родительском представлении. - Добавлено свойство
ScrollerCompatдля поддержки совместимости сScrollerиOverScroller. - Добавлен параметр
FileProvider, позволяющий обмениваться частными файлами между приложениями. - Обновлено
ViewPager, чтобы при изменении связанного классаPagerAdapterбез вызоваnotifyDataSetChanged()вызывалось исключение. - Исправлена проблема с сортировкой рисунков детей в
ViewPager. - Исправлена ошибка
GestureDetectorCompat, из-за которой не отправлялись пропущенные вызовыonSingleTapConfirmed(MotionEvent)между событиями тайм-аута нажатия и долгого нажатия.
- Добавлен элемент
- Новая библиотека GridLayout v7:
-
- Добавлен объект
GridLayoutдля поддержки объекта макетаGridLayout. - Добавлен элемент
android.support.v7.widget.Space, который можно использовать для создания пустых областей в объекте макетаGridLayout.
- Добавлен объект
- Изменения в библиотеке поддержки версии 4:
-
- Улучшено взаимодействие с
ViewPager. - Исправлена ошибка, из-за которой при нажатии клавиши
ViewPagerвыбиралась неверная страница. - Исправлено использование метода
removeView()при создании макета дляViewPager. - Исправлена ошибка в
SearchViewCompat, из-за которой при использовании кнопки "Назад" для закрытия не удалялся текст поиска. Исправление применяется только к API хоста уровня 14 и выше.
- Улучшено взаимодействие с
- Изменения в библиотеке поддержки версии 4:
-
- Пользовательский интерфейс
- Добавлена поддержка вложенных классов
Fragment. - Улучшена отладка
FragmentManager. - Исправлена проблема в
FragmentTabHost, из-за которой взаимодействие с фрагментом и вкладкой могло привести к потере состоянияListView. - Исправлена проблема с подсказкой, которая показывалась пользователю в приложении "
FragmentStatePagerAdapter". - В интерфейс
ViewPagerдобавлен интерфейсPageTransformer, позволяющий приложениям задавать собственное поведение при прокрутке. - Добавлены новые функции и исправления в
TaskStackBuilderиз текущего выпуска. - Исправлена ошибка, из-за которой
PagerTitleStripнеправильно отслеживалPagerAdapter, используемый в данный момент. - Устранены проблемы с мерцанием экрана, позиционированием и обрезкой текста при использовании элемента
PagerTitleStrip. - Исправлена ошибка: теперь при отрисовке подчеркивания свойство
PagerTabStripучитывает отступы.
- Добавлена поддержка вложенных классов
- Специальные возможности
- Добавлена поддержка новых типов жестов специальных возможностей и событий касания в
AccessibilityEventCompat. - В
ViewCompatдобавлена поддержка новых API специальных возможностей. - В
ViewCompatдобавлена поддержка методаperformAccessibilityAction().
- Добавлена поддержка новых типов жестов специальных возможностей и событий касания в
- Добавлена поддержка жестов с помощью
GestureDetectorCompat. - Добавлена поддержка атомарных операций с файлами с помощью нового класса
AtomicFile. - Добавлена поддержка полного набора методов
makeвIntentCompat. - В класс утилит
LruCacheдобавлен методtrimToSize(). - Обновлено
ConnectivityManagerCompat, чтобы получать NetworkInfo из трансляцииCONNECTIVITY_ACTION.
- Пользовательский интерфейс
- Изменения в библиотеке поддержки версии 4:
-
- Добавлена поддержка функций уведомлений, представленных в Android 4.1 (уровня API 16), с дополнениями к
NotificationCompat.
- Добавлена поддержка функций уведомлений, представленных в Android 4.1 (уровня API 16), с дополнениями к
- Изменения в библиотеке поддержки версии 4:
-
- Поддержка интерфейса
- Добавлена поддержка
PagerTabStrip, которая предоставляет расширенные возможности по сравнению сPagerTitleStrip. - Исправлены различные ошибки, связанные с
PagerTitleStripиPagerTabStrip, в том числе с вариантомsetAllCaps, выравниванием заголовка, внешним видом, минимальной шириной и навигацией с помощью сенсорного экрана. - Добавлена поддержка полей страницы
ViewPager, которые помогают классуViewPagerобеспечивать поддержку разбивки на страницы для контента с большим диапазоном горизонтальной прокрутки, например для карты. - Исправлено множество ошибок для
ViewPager, в том числе проблемы с изменением размера и набора данных, позиционированием страницы, взаимодействием с пользователем, отслеживанием прокрутки и навигацией с помощью клавиатуры. - Исправлено множество ошибок для
Fragment, в том числе правильная обработкаonActivityResult(), когда целевой фрагмент больше не существует, отправка событий выбора невидимым фрагментам, улучшенное поведениеFragmentTransaction.replace()и улучшенная обработка состояния для фрагментов, которые перемещаются за пределы видимости. - В
ViewCompatдобавлена поддержка методаpostOnAnimation(). - В версии
NavUtilsдобавлена функция навигации Вверх, которая доступна в Android 4.1 (уровень API 16) и более поздних версиях.
- Добавлена поддержка
- Специальные возможности
- Обновлены классы поддержки специальных возможностей, в том числе
AccessibilityNodeInfoCompat, чтобы учесть исправления, внесенные в Android 4.1 (уровень API 16). - Добавлена поддержка действий прокрутки для специальных возможностей в
ViewPager.
- Обновлены классы поддержки специальных возможностей, в том числе
- Общие улучшения
- Обновлено
TaskStackBuilderс учетом изменений API в Android 4.1 (уровень API 16). - Улучшено
TaskStackBuilder, чтобы его можно было использовать из сервиса. - Добавлена поддержка свойства
EXTRA_HTML_TEXTв структурированных данныхShareCompat. - Обновлен
NotificationCompat.Builderдля поддержки методаsetNumber(). - В
ConnectivityManagerCompatдобавлена поддержка методаisActiveNetworkMetered().
- Обновлено
- Поддержка интерфейса
- Изменения в библиотеке поддержки версии 4:
-
- Исправлены флаги намерений для объектов
PendingIntent, созданныхTaskStackBuilder. - Удалены неиспользуемые атрибуты из проектов библиотеки gridlayout, чтобы обеспечить возможность сборки библиотеки с уровнем API 7 и выше.
- Добавлены файлы
.classpathи.projectдля проекта библиотеки gridlayout.
- Исправлены флаги намерений для объектов
- Изменения в библиотеке поддержки версии 4:
-
- Добавлен класс
ShareCompat, который предоставляет вспомогательные классы для отправки и получения контента для приложений, позволяющих делиться информацией в социальных сетях. В нем также есть новые метаданные для указания исходного приложения. Кроме того, этот класс обеспечивает совместимость с новым классомShareActionProviderв Android 4.0. - Добавлены поля
NavUtilsиTaskStackBuilder, чтобы обеспечить поддержку реализации рекомендаций по дизайну Android для навигации. В частности, в них рассказывается, как реализовать кнопку Назад на панели действий в разных версиях. Пример реализации этого шаблона можно найти в образце AppNavigation (<em><sdk></em>/samples/<em><platform></em>/AppNavigation). - Добавлен класс
NotificationCompat.Builder, чтобы обеспечить совместимость с классом помощникаNotification.Builderиз Android 3.0 для создания стандартных системных уведомлений.
- Добавлен класс
- Изменения в библиотеке поддержки версии 4:
-
- Изменения в ViewPager:
- Добавлена поддержка дополнительных декоративных представлений для
ViewPager. Декоративные элементы можно добавить в качестве дочерних элементов пейджера в макете XML. - Добавлен элемент
PagerAdapter.getPageTitle()для указания строк заголовков страниц. По умолчанию для каждой страницы заголовок не задан. - Добавлен неинтерактивный заголовок
PagerTitleStrip, который можно добавить как дочерний элемент ViewPager. Разработчики могут указать внешний вид и цвет текста, а также размер макета и гравитацию. - Обновлены методы
PagerAdapter, чтобы принимать объекты ViewGroup, а не View, чтобы избежать приведения типов в реализациях адаптера. - Обновлено поведение клавиши
ViewPagerпри пролистывании в стиле панели запуска. - Исправлены ошибки, связанные с взаимодействием с пользовательским интерфейсом и автоматизацией тестирования.
- Добавлена поддержка дополнительных декоративных представлений для
- Поддержка фрагментов:
- Метод
setStartDeferred()изменен наsetUserVisibleHint(boolean). - Добавлен отложенный запуск для страниц, которые не показываются на экране, чтобы повысить эффективность.
- Метод
- Поддержка API специальных возможностей:
- Методы
AccessibilityDelegateCompatтеперь возвращают пустые списки, а не значение null. - Добавлены новые API, необходимые для примеров версии 4.
- Методы
- Изменения в ViewPager:
- Изменения в библиотеке поддержки версии 4:
-
- Поддержка API специальных возможностей:
- Добавлено свойство
AccessibilityDelegateCompatдля поддержкиView.AccessibilityDelegate. - Добавлено свойство
AccessibilityEventCompatдля поддержкиAccessibilityEvent. - Добавлено свойство
AccessibilityManagerCompatдля поддержкиAccessibilityManager. - Добавлено свойство
AccessibilityNodeInfoCompatдля поддержкиAccessibilityNodeInfo. - Добавлено свойство
AccessibilityRecordCompatдля поддержкиAccessibilityRecord. - Добавлено свойство
AccessibilityServiceInfoCompatдля поддержкиAccessibilityServiceInfo. - Добавлено свойство
ViewGroupCompatдля поддержки специальных возможностей вViewGroup. - Изменен тег
ViewCompatдля поддержки специальных возможностей вView.
- Добавлено свойство
- Изменения в ViewPager:
- Добавлена поддержка полей между страницами.
Чтобы заполнить поля, можно указать необязательное значение
Drawable. - Добавлена поддержка
EdgeEffect. - Добавлена поддержка навигации с помощью клавиатуры.
- Добавлена поддержка управления количеством страниц, которые сохраняются по обе стороны от текущей страницы.
- Улучшена физика касаний.
- Исправлены ошибки в работе интерфейса.
- Добавлена поддержка полей между страницами.
Чтобы заполнить поля, можно указать необязательное значение
- Поддержка API специальных возможностей:
- Изменения в библиотеке поддержки версии 4:
-
- В
EdgeEffectдобавлена поддержкаEdgeEffectCompat. - Добавлен тег
LocalBroadcastManager, позволяющий приложениям легко регистрировать и получать намерения в рамках одного приложения, не транслируя их глобально. - В
ViewCompatдобавлена поддержка проверки и настройки режимов прокрутки дляViewна устройствах Android 2.3 и более поздних версий. - Изменения в API фрагментов:
- Добавлены новые API для управления видимостью новых меню.
- Добавлены API для создания пользовательских анимаций.
- В
FragmentActivityдобавлены API для сохранения пользовательских данных экземпляра, не относящихся к конфигурации. - Исправлены различные ошибки.
- Исправлена ошибка
Loader, из-за которой возникали проблемы при отменеAsyncTaskна платформе Froyo и более ранних версиях. В коде поддержки теперь используется собственная версияAsyncTask, чтобы обеспечить одинаковое поведение на всех версиях платформы.
- В
- Изменения в библиотеке поддержки версии 4:
-
- Добавлена поддержка
Fragment.SavedState - Добавлена поддержка
MotionEventCompatдля новых APIMotionEvent - Добавлен
VelocityTrackerCompatдля поддержки более новых APIVelocityTracker - Добавлен
ViewConfigurationCompatдля поддержки более новых APIViewConfiguration - Новые API (доступны только в библиотеке поддержки), которые позволяют создавать интерфейсы с горизонтальной разбивкой на страницы, чтобы пользователи могли переходить между представлениями контента, проводя пальцем влево и вправо. Для этого можно использовать следующие классы:
ViewPager:ViewGroup, который управляет макетом дочерних представлений, между которыми пользователь может переключаться.PagerAdapter– адаптер, который заполняетViewPagerпредставлениями, соответствующими каждой странице.FragmentPagerAdapter– расширениеPagerAdapterдля переключения между фрагментами.FragmentStatePagerAdapter: расширениеPagerAdapterдля переключения между фрагментами, использующее поддержкуFragment.SavedStateиз библиотеки.
- Добавлена поддержка
- Новая библиотека поддержки v13:
-
- Включает
FragmentPagerAdapterиFragmentStatePagerAdapterдля поддержки горизонтальной прокрутки.Они полностью идентичны API, добавленным в библиотеку поддержки версии 4, но в Android 3.2 используют другие компоненты платформы. Используйте эту библиотеку вместо v4, если вы разрабатываете приложение для Android 3.2 и более поздних версий (все остальные API из библиотеки v4 уже доступны на уровне API 13).
- Включает
- Изменения в библиотеке версии 4:
-
- Поддержка анимации фрагментов
- Исправлена ошибка
Fragment.onActivityResult()
Исправление 22
Март 2015 г.
Версия 21.0.3
Декабрь 2014 года
Версия 21.0.2
Ноябрь 2014 г.
Версия 21.0.1
Ноябрь 2014 г.
Версия 21
Октябрь 2014 г.
Версия 20
Июль 2014 года
Версия 19.1.0
Март 2014 г.
Версия 19.0.1
Декабрь 2013 г.
Версия 19
Октябрь 2013 г.
Исправление 18
Июль 2013 г.
Версия 13
Май 2013 г.
Версия 12
Февраль 2013 г.
Версия 11
Ноябрь 2012 г.
Версия 10
Август 2012 г.
Редакция 9
Июнь 2012 г.
Версия 8
Апрель 2012 г.
Версия 7
Март 2012 г.
Версия 6
Декабрь 2011 г.
Примечание. Справочная информация об API библиотеки поддержки теперь доступна вместе со справочной информацией о фреймворке, например: android.support.v4.app.
Версия 5
Декабрь 2011 г.
Версия 4
Октябрь 2011 г.
Версия 3
Июль 2011 г.
Версия 2
Май 2011 г.
Версия 1
Март 2011 г.
Первый выпуск с библиотекой v4.