На этой странице представлены сведения о старых выпусках пакетов библиотеки поддержки. Самые последние выпуски библиотеки поддержки см. в разделе «Последние версии библиотеки поддержки» .
Версия 26.0.0 Бета 2
(июнь 2017 г.)
Обратите внимание, что 26.0.0-beta2 — это предварительная версия. Интерфейс API может быть изменен, и он не обязательно включает в себя функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важно! Библиотеки поддержки теперь доступны в репозитории Google Maven. Вам не нужно загружать репозиторий поддержки из SDK Manager. Дополнительные сведения см. в разделе Настройка библиотеки поддержки .
Новые API
- Новый класс
JobIntentService, который поможет разработчикам планировать задачи в соответствии с новыми ограничениями фонового выполнения Android O.
Различия API
Исправления ошибок
- Удаление Android O SDK приводит к потере курсива в TextViews
- Исключение нулевого указателя при подключении к MediaBrowserServiceCompat
- TextInputLayout должен устанавливать подсказки для onProvideAutofillStructure().
- Переполнение стека при использовании автоматического размера TextView на O
Версия 26.0.0 Бета 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.
Дополнительные сведения см. на страницах предварительного просмотра анимации Spring и Fling .
- Новый
- Поддержка шрифтов в XML :
-
ResourcesCompat.getFontпозволяет загружать ресурсы шрифтов, включая XML-семейство шрифтов, которые можно использовать сTextView.setTypeface(). - При использовании AppCompat TextView поддерживает указание ресурса шрифта или XML-семейства шрифтов через XML-атрибут
android:fontFamily. - Используйте семейство шрифтов XML для создания семейств шрифтов с различными стилями и насыщенностью. (Если для этого вы используете классы библиотеки поддержки, используйте атрибуты
app:а также атрибутыandroid:)
-
- Загружаемые шрифты:
- Новый
FontsContractCompat, который позволяет запрашивать шрифты у поставщика шрифтов, а не объединять их в своем приложении. - Шрифты также можно запрашивать в XML и использовать в макетах.
- Новый
- Библиотека совместимости Emoji :
-
EmojiCompatможет обрабатывать заданнуюCharSequenceи добавлятьEmojiSpans. -
EmojiTextViewи другие виджеты для отображения смайлов. -
FontRequestEmojiCompatConfigдля запроса шрифта эмодзи у поставщика шрифтов.
-
- Автоматическое изменение размера TextView :
- Новые методы в
TextViewCompat, а также атрибуты XML для управления автоматическим изменением размера вTextView.
- Новые методы в
- Элементы управления воспроизведением Leanback с поддержкой поиска:
- Новый
PlaybackTransportRowPresenter, который отображает элементы управления воспроизведением с помощью SeekBar. - Новый
PlaybackTransportControlGlue, который работает сPlaybackTransportRowPresenterи поддерживает поиск. - Новый базовый класс
PlaybackSeekDataProviderдля приложения, предоставляющий миниатюры поиска дляPlaybackTransportControlGlue.
- Новый
- Хранилище данных предпочтений:
-
PreferenceDataStoreтеперь позволяет вам реализовать собственное хранилище настроек, заданное с помощью новых методов вPreferenceиPreferenceManager.
-
Известные проблемы
- Интеграция совместимости загружаемых шрифтов и эмодзи со службами Google Play работает только в службах Google Play v11+, которые в настоящее время доступны в рамках бета-программы служб Google Play .
Исправления ошибок
- API
MediaBrowserCompat.search()не работает (проблема AOSP 262170 ) -
ViewCompat.postInvalidateOnAnimation()выдает исключение (проблема AOSP 80146 ) -
onActivityCreated()вызывает фрагменты в уничтоженном действии -
RecyclerView.isComputingLayout()должен возвращать true во время предварительной выборки. - Когда переход
Fadeпрерывается и инвертируется,Viewзапускает анимацию с самого начала. (Исправление перенесено из Android Framework.) -
Transition.Fadeигнорирует начальную альфа-версиюView(проблема AOSP 221820 )
Версия 26.0.0 Альфа 1
(март 2017 г.)
Обратите внимание, что 26.0.0-alpha1 — это предварительная версия. Интерфейс API может быть изменен, и он не обязательно включает в себя функции или исправления ошибок из последних стабильных версий библиотеки поддержки.
Важные изменения
Примечание. Минимальная версия SDK была увеличена до 14. В результате многие API, существовавшие только для совместимости с API < 14, были признаны устаревшими. Клиентам этих API следует перейти на эквиваленты их платформы, как указано на справочной странице для каждого устаревшего API.
- Модуль процента поддержки устарел. Клиентам этого модуля следует перейти на новый виджет ConstraintLayout, который предоставляется как отдельный артефакт в SDK Manager.
- Модуль support-fragment больше не зависит от модуля support-media-compat.
Новые API
Добавлено множество новых классов, методов и констант для обеспечения обратной совместимости API-интерфейсов платформы, добавленных в O Preview.
-
IME_FLAG_NO_PERSONALIZED_LEARNING: IME могут прослушивать флаги «необучения» для приложений, имеющих приватный режим, таких как браузеры. Эта функция помогает 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. Эта версия включает в себя следующие важные изменения:
- Позволяет мультидексировать инструментарий 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 при прокрутке вверх и вниз в ВертикальномGridView в 25.3.1
- ClassCastException в SimpleArrayMap.allocArrays()
Версия 25.3.1
(март 2017 г.)
Исправлены проблемы
-
SwitchCompatтребует минимальной версии SDK 14 или выше. (выпуск AOSP 251302 ) -
updateListenerанимации на основе физикиListener пропускает первый кадр. - Анимация метки
BottomNavigationViewне работает.
Версия 25.3.0
(март 2017 г.)
Важные изменения
Метаданные версии библиотеки поддержки будут автоматически добавлены в AndroidManifest.xml при сборке из Gradle, что упрощает отслеживание версий в общедоступных сборках. Например:
<meta-data android:name="android.support.VERSION" android:value="25.3.0" />
Устаревания
В этом выпуске ряд методов и классов объявлен устаревшим. Эти устаревшие API будут удалены в будущей версии, и разработчикам следует отказаться от них. Дополнительную информацию о том, как перейти с определенного API, см. в его документации.
-
ExifInterface - Логический метод
getLatLong(float[])устарел. Вместо этого используйте новый методgetLatLong(), который не принимает аргументов и возвращаетdouble[]. -
mediacompat -
PlaybackStateCompat.Builder.setErrorMessage(CharSequence)устарел. Вместо этого используйте новый методsetErrorMessage(int, CharSequence), которому передается код ошибки и необязательное описание. -
EXTRA_SUGGESTION_KEYWORDSустарел. Вместо этого используйте функцию поискаMediaBrowserCompat. -
v7.recyclerview -
LinearLayoutManager.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 библиотеки поддержки имеется известная ошибка. Если ваше приложение использует MediaRouter v7, вам следует обновить библиотеку поддержки до версии 25.2.0 , которая исправляет эту ошибку.
Важные изменения
Транзакции фрагментов теперь можно оптимизировать внутри транзакций и между ними. Оптимизация операций фрагментных транзакций может исключить операции, которые отменяются. Например, предположим, что две транзакции выполняются вместе: одна добавляет фрагмент A, а вторая заменяет фрагмент A фрагментом B. В этом случае первая операция может быть отменена и добавлен только фрагмент B. Это означает, что фрагмент A может не пройти жизненный цикл создания/уничтожения.
Побочным эффектом этой оптимизации является то, что фрагменты могут иметь изменения состояния не в ожидаемом порядке. Например, предположим, что одна транзакция добавляет фрагмент A, вторая добавляет фрагмент B, затем третья удаляет фрагмент A. Без оптимизации фрагмент B мог бы ожидать, что пока он создается, фрагмент A также будет существовать, потому что фрагмент A будет удален после фрагмента. Добавлен Б. При оптимизации фрагмент B не может быть уверен, что фрагмент A будет существовать во время создания B, поскольку создание и уничтожение фрагмента A может быть устранено оптимизацией.
По умолчанию эта оптимизация отключена. Чтобы включить оптимизацию, вызовите
FragmentTransaction.setAllowOptimization(true).- Фрагменты теперь могут откладывать свои переходы и анимацию до тех пор, пока они не будут готовы, используя
Fragment.postponeEnterTransition()иFragment.startPostponedEnterTransition(). Этот API похож наActivity.postponeEnterTransition()иActivity.startPostponedEnterTransition()используемые с переходами активности.
Исправлены проблемы
-
MediaSessionCompatTestзавершается с ошибкой сIllegalArgumentException -
DetailsFragment.installTitleView()не вызывается в версии 25.1.0 - Транзакция фрагмента сохраняет призрачное представление при выходе (проблема AOSP 230679 )
-
BottomNavigationViewтребуется расстояние между значком элемента и текстом (проблема AOSP 230653 ). - Выбранные прослушиватели отсутствуют в новых
PlaybackFragmentиPlaybackSupportFragment - Фокус
TextInputLayoutне меняется должным образом в эмуляторе из библиотеки поддержки версии 25.1.0 (проблема AOSP 230461 ) - Невозможно заменить меню
BottomNavigationView(проблема AOSP 230343 ). -
RecyclerViewсStaggeredGridLayoutManagerаварийно завершает работу с элементами полного диапазона (проблема AOSP 230295 ) - Сбой в
MediaSessionCompatпри использованииsetCallback(null) -
PlaybackGlueHostOldиPlaybackSupportGlueHostOldне уведомляют обратные вызовы при изменении строки воспроизведения. - Пример
PlaybackOverlayFragment/testне может начать воспроизведение -
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 библиотеки поддержки. Если ваше приложение использует MediaRouter v7, вам следует обновить библиотеку поддержки до версии 25.2.0 , которая исправляет эту ошибку.
Важные изменения
- Клиенты вложенных виджетов
RecyclerView(например, список с вертикальной прокруткой списков с горизонтальной прокруткой) могут получить значительный выигрыш в производительности, сообщая менеджерам макетов внутренних виджетовRecyclerView, сколько элементов нужно подготовить перед прокруткой на экране. ВызовитеLinearLayoutManager.setInitialPrefetchItemCount( N ), где N — количество просмотров, видимых для каждого внутреннего элемента. Например, если ваши внутренние горизонтальные списки отображают минимум три с половиной представления элементов одновременно, вы можете повысить производительность, вызвавLinearLayoutManager.setInitialPrefetchItemCount(4). Это позволяетRecyclerViewзаранее создавать все соответствующие представления, пока внешнийRecyclerViewпрокручивается, что значительно уменьшает количество заиканий во время прокрутки. -
FragmentActivity.setSupportMediaController()иFragmentActivity.getSupportMediaController()устарели. Используйте новые статические методыMediaControllerCompat.setMediaController()иMediaControllerCompat.getMediaController(). - Когда клиент указывает оттенок виджета с помощью оттенка appcompat (например,
appcompat:buttonTint), клиент несет ответственность за предоставление всех необходимых состояний (таких как «отключено», «нажато» и т. д.). Это соответствует тому, как задаются оттенки виджетов при использовании тонирования платформы.
Новые и измененные API
- Добавлена библиотека поддержки ExifInterface . Эта библиотека объединяет поддержку чтения информации Exif из файлов JPEG и необработанных файлов, а также установку информации Exif в файлах изображений JPEG.
-
Snackbarбыл переработан, чтобы приложения могли отображать пользовательский контент.BaseTransientBottomBar— это новый базовый класс, который предоставляет общее поведение скольжения и анимации. - Добавлен новый пакет Leanback.media , который содержит вспомогательные классы для интеграции медиаплееров в приложения Android TV.
- В библиотеку поддержки предпочтений v7 добавлен
SeekBarPreferenceс настраиваемым макетом и атрибутами. - В библиотеку поддержки версии 4 добавлен класс
ArraySet. Этот класс соответствует классуArraySetплатформы, который был представлен на уровне API 23. -
RecyclerViewУлучшения предварительной выборки элементов RecyclerView:- Вложенная предварительная выборка
RecyclerViewпозволяет выполнять предварительную выборку содержимого изRecyclerViewвнутри другого прокручиваемогоRecyclerViewс API для управления объемом предварительной выборки: - Добавлены API-интерфейсы для пользовательских объектов
LayoutManager, которые позволяют реализовать предварительную выборку во время прокрутки и прокрутки. - Улучшения в предварительной выборке, позволяющие выполнять как можно больше работы по созданию/связыванию в промежутке между кадрами.
- Вложенная предварительная выборка
Исправлены проблемы
- Переключатель видимости пароля не проходит тесты на доступность.
- Appcompat не учитывает
state_enabledна устройствах до L. - В
RecyclerViewдобавлен механизм восстановления фокуса. Это также исправило нарушение фокусировки при использовании преф-фрагментов при использовании навигации DPAD, например, на устройствах Android TV. - Leanback: BrowseFragment аварийно завершает работу с отключенными заголовками и пустым адаптером.
- Appcompat:
AlertDialogслишком широк. -
InputContentInfoCompatвызываетrequestPermission()когда он должен вызватьreleasePermission(). -
MediaBrowserCompatаварийно завершает работу. - КоординаторLayout измеряет/выкладывает представления, когда для видимости установлено значение
GONE. - Не удалось оттенить
AnimatedVectorDrawableCompatна уровне API ниже 24. - Библиотека Leanback вызывает ложные ошибки lint
- Библиотека палитр вызывала сбои тестов на каждом уровне API
-
RecyclerViewне прошел тесты на Leanback - Сбой
RecyclerViewпри перезапуске держателей представлений (проблема AOSP 225762 ) -
Fragment.onDestroy()не вызывается для фрагмента в стеке - Экран
CollapsingToolbarLayoutне прорисовывается в свернутом виде -
CoordinatorLayout.offsetChildByInset()вызывает исключениеIllegalArgumentException - Анимация элементов
RecyclerViewотделяет внутренниеRecyclerViewи предотвращает будущие предварительные выборки. - Прикрепленные элементы
RecyclerViewне могут быть вложенными с предварительной выборкой. - Данные предварительной выборки для вложенных элементов
RecyclerViewотбрасываются при первом макете. - Предварительная выборка
RecyclerViewзавершается с ошибкой, если два события перетаскивания приходят в одну и ту же позицию -
RecyclerViewдолжен спекулятивно создавать макет во время рендеринга RenderThread. - Цветовые ресурсы с ночной конфигурацией, преобразованные в Drawables, не всегда должным образом удаляются из кэша ресурсов.
-
FloatingActionButton: программная установка BackgroundTintList не работает должным образом (проблема AOSP 227428 ). -
TextInputLayout: шрифт не устанавливается для ErrorView (проблема AOSP 227803 ). -
TextInputLayoutвсегда возвращается к световому цвету ошибки ниже API 23 (проблема AOSP 221992 ). -
FloatingActionButtonотображается как нажатая, когда указатель уходит
Полный список общедоступных исправлений ошибок доступен на сайте AOSP Issue Tracker .
Устаревания
В этом выпуске ряд методов и классов объявлены устаревшими. Эти устаревшие API будут удалены в будущей версии, и разработчикам следует отказаться от них. Дополнительную информацию о том, как перейти с определенного API, см. в его документации.
-
android.support.design.widget -
android.support.v17.leanback.app-
BackgroundManager.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() -
PlaybackControlSupportGlue -
PlaybackOverlayFragment -
PlaybackOverlaySupportFragment
-
-
android.support.v17.leanback.widget -
android.support.v4.app-
FragmentActivity.getSupportMediaController() -
FragmentActivity.setSupportMediaController()
-
Версия 25.0.1
(ноябрь 2016 г.)
Исправлены проблемы
- Переключатель пароля
TextInputLayoutтеперь отключен по умолчанию, чтобы избежать ненужной перезаписи конечных элементов, заданных разработчиком. Его можно включить вручную с помощью XML-атрибутаpasswordToggleEnabled. - Элементы
BottomNavigationViewтеперь представляют собой одну строку, что соответствует спецификации материала. -
RecyclerViewаварийно завершает работу во время предварительной выборки, если диспетчер макетов имеет значение null. - Высота
BottomNavigationViewтеперь установлена правильно. (выпуск AOSP 226182 ) - Сбой
BottomNavigationViewпри программном добавлении пунктов меню. (выпуск AOSP 225731 ) - Исправлены составные элементы
TextInputLayoutслева и справа. (выпуск AOSP 225836 ) -
RecyclerViewаварийно завершает работу при переработке держателей представлений. (выпуск AOSP 225762 ) - Leanback: TalkBack часто произносит слово «null» в режимах разделенного экрана.
-
RecyclerView: проблемы с рендерингом в Android Studio. (выпуск AOSP 225753 ) -
BottomNavigationViewпо-прежнему показывает выбранный пункт меню после того, какonNavigationItemSelected()возвращает false. (выпуск AOSP 225898 ) - ForwardingListener выдает
NoSuchMethodError. (выпуск AOSP 225647 ) -
TextInputEditTextне отображает подсказки в режиме извлечения IME. (выпуск AOSP 221880 )
Полный список общедоступных исправлений ошибок доступен на сайте AOSP Issue Tracker .
Версия 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удален. Использование следует заменить на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 Issue Tracker .
Версия 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(). (выпуск AOSP 220309 ) -
TextInputLayoutпереопределяет правое составное рисование. (выпуск AOSP 220728 )
Полный список общедоступных исправлений ошибок доступен на сайте AOSP Issue Tracker .
Версия 24.2.0
август 2016 г.
Версия 24.2.0 содержит следующие изменения:
- Разделение библиотеки поддержки v4
- Обновления API
- Изменения в поведении
- Устаревания
- Исправления ошибок
Примечание. В версии 24.2.0 удалена поддержка Android 2.2 (уровень API 8) и более ранних версий. Классы и методы, существующие только для обслуживания этих версий системы, теперь помечены как устаревшие и больше не должны использоваться. Эти устаревшие классы и методы могут быть удалены в будущем выпуске.
Разделение библиотеки поддержки v4
В этом выпуске библиотека поддержки v4 была разделена на несколько более мелких модулей:
-
support-compat - Предоставляет оболочки совместимости для новых API-интерфейсов платформы, таких как
Context.getDrawable()иView.performAccessibilityAction(). -
support-core-utils - Предоставляет ряд служебных классов, таких как
AsyncTaskLoaderиPermissionChecker. -
support-core-ui - Реализует различные компоненты, связанные с пользовательским интерфейсом, такие как
ViewPager,NestedScrollViewиExploreByTouchHelper. -
support-media-compat - Резервное копирование частей медиа- инфраструктуры, включая
MediaBrowserиMediaSession. -
support-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добавляет поддержку переключения видимости пароля из спецификации дизайна материала. - Новый пакет
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теперь отображается за панелью навигации, если строка состояния полупрозрачна.
Библиотека Медиамаршрутизатора
Устройства Bluetooth больше не отображаются в качестве медиа-маршрутов. Маршрутизация звука на устройства Bluetooth теперь контролируется исключительно на уровне системы Android.
Устаревания
Устаревшие классы и методы могут быть удалены в будущем выпуске. Вам следует как можно скорее отказаться от этих API.
- Некоторые методы в следующих классах требовались только для API 8 и более ранних версий и больше не должны использоваться. Вместо этого используйте реализации фреймворка.
-
android.support.v4.view.KeyEventCompat: заменить наKeyEvent -
android.support.v4.view.MotionEventCompat: использоватьMotionEvent -
android.support.v4.view.ViewCompat: использоватьView -
android.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)перед первым проходом измерения ( проблема AOSP 77712 ). - Запретить мерцание
TabLayoutпри смене страниц ( проблема AOSP 180454 ) - Избегайте
ClassNotFoundExceptionпри демаршаллингеSavedStateна уровне API 11 и ниже ( проблема AOSP 196430 ).
Полный список общедоступных исправлений ошибок доступен на сайте AOSP Issue Tracker .
Версия 24.1.1
июль 2016 г.
Исправленные проблемы:
- Устранена проблема в выпуске 24.1.0, которая затрагивала идентификаторы ресурсов, совместно используемые библиотеками поддержки. Из-за этой проблемы приложения, которые зависели от библиотек поддержки с ресурсами (такими как дизайн и совместимость приложений), сталкивались с проблемами, вызванными несоответствием идентификаторов ресурсов.
Версия 24.1.0
июль 2016 г.
- Изменения в библиотеке поддержки v4 :
-
NotificationCompat.Action.WearableExtenderимеет новые методыgetHintDisplayActionInline()иsetHintDisplayActionInline()для совместимости с Android Wear 2.0 Preview . Эти методы позволяют приложению указать, что действие должно отображаться вместе с уведомлением. - Вызов
Fragment.setUserVisbileHint()больше не приводит к запуску фрагмента, если подсказка была добавлена кFragmentTransaction, который еще не зафиксирован. Это затрагивает пользователейFragmentPagerAdapter, которые переопределяютsetUserVisbileHint()и предполагают определенное состояние жизненного цикла фрагмента после вызоваsuper.setUserVisibleHint(). Для получения дополнительной информации см. Справочную страницу для Docs дляFragment.setUserVisbileHint().
-
Исправлены проблемы:
- TABLAYOUT.SETCUSTOMVIEW (NULL) приводит к NullPointerException ( ASOSP -выпуск 214753 )
- TABLAYOUT неправильно выделяет пользовательские вкладки ( ASOSP Assues 214316 )
- Appcompattexthelper использует неправильно отсортированный массив атрибутов ( ASOSP выпуск 214366 )
- Невозможно ссылаться на VectordRawable из Drawable Container XML при использовании Custom ContextWrapper ( AOSP -выпуск 214055 )
- ViewDraghelper.savelastmotion () бросает arrayindexoutofboundsexception ( выпуск AOSP 212945 )
- BottomSheetBehavior расширяется до старой высоты контента при использовании SetState (state_expeded) ( ASOSP -выпуск 213660 )
- CollapsingToolBarlayout не обрабатывает вершины с верхней или нижней полями ( ASOSP выпуск 213001 )
- Название Leanback Browse не поддерживает выравнивание RTL ( выпуск AOSP 213461 )
- PagertabStrip исчезает из -за отсутствующей унаследованной аннотации ( выпуск AOSP 213359 )
- Привлечение данных бросает NullPointerException при использовании Boolean для установки условных флагов ( AOSP Issue 191841 )
- Координаторлайут не отвечает на SetFitsSystemWindows () ( ASOSP -выпуск 212720 )
- BotherSheetBehavior сбои при установлении начального состояния ( ASOSP Issue 203114 )
- ViewPager пропускает страницы, если индекс страницы является большим значением ( выпуск AOSP 211734 )
- BottomSheetBehavior не работает с динамическими макетами ( ASOSP Issue 205226 )
Редакция 24.0.0
июнь 2016 г.
- Изменения в библиотеке поддержки V4 :
- Добавлен
Fragment.commitNow()для синхронного коммита - Добавлено
NotificationCompat.MessagingStyleдля многопартийных разговоров - Добавлено
NotificationManagerCompat.areNotificationsEnabled()иgetImportance() -
MediaSessionCompatтеперь отражает функциональностьMediaSessionи больше не вызываетsetMediaButtonReceiver()автоматически
ПРИМЕЧАНИЕ. Только
MediaBrowserServiceCompatв версии 24.0.0 совместим с будущими версиями Android за пределами API 24. Если вы используете предыдущие версии, обновите эту версию, чтобы обеспечить совместимость.- Добавлен
- Изменения в библиотеке v7 appcompat :
- Добавлена поддержка для ссылки на тематические
ColorStateListобъекты из XML
- Добавлена поддержка для ссылки на тематические
- Изменения в библиотеке поддержки дизайна :
- Улучшения в обработке
AppBarLayoutповышения с использованиемStateListAnimator
- Улучшения в обработке
- Изменения для библиотеки Leanback V17 :
- Добавлено
OnboardingFragmentадаптирование
- Добавлено
- Изменения для пользовательских вкладок :
- Добавлена поддержка для предоставления иерархии
RemoteViewsдля вторичной панели инструментов - Добавлен
CustomTabsClient.connectAndInitialize()для однострочной разминки
- Добавлена поддержка для предоставления иерархии
Редакция 23.4.0
май 2016 г.
- Изменения в библиотеке поддержки V4 :
- Фиксированная проблема, в которой фрагменты были добавлены в неправильном порядке. ( Выпуск 206901 )
- Исправлена проблема, когда панель приложений не была проведена после прокрутки за кадром. ( Выпуск 178037 )
- Изменения в библиотеке v7 appcompat :
- Добавлен
AppCompatDelegate.setCompatVectorFromResourcesEnabled()Метод для повторного использования векторных натяжений в объектахDrawableContainerна устройствах, работающих на Android 4.4 (API-уровне 19) и ниже. См. Appcompat V23.2 - Возраст векторов для получения дополнительной информации. - Исправлена проблема в API 23 с помощью
AppCompatDelegate.setDefaultNightMode()не загружает правильные ресурсы на уровне API 23. ( Выпуск 206573 ) - Фиксированная проблема, которая может вызвать
NullPointerException. ( Выпуск 207638 )
- Добавлен
- Изменения в библиотеке поддержки дизайна :
- Исправлена проблема, в которой
TextInputLayoutне очищает оттенок ошибки послеsetErrorEnabled(false)на уровне API 21 - 22 ( выпуск 202829 ) - Исправлена проблема, в которой
FloatingActionButtonне возвращается, когда анимация отключена. ( Выпуск 206416 ) - Фиксированная проблема в функциональности Snap
AppBarLayoutпри использовании сScrold Flags. ( Выпуск 207398 )scroll|enterAlways|enterAlwaysCollapsed|snap
- Исправлена проблема, в которой
- Изменения для Векторная библиотека натяжений:
- Исправлена ошибка, в которой
VectorDrawableCompatне отображается правильно вTextViewна уровне API 23. ( Выпуск 206227 )
- Исправлена ошибка, в которой
Редакция 23.3.0
апрель 2016 г.
- Изменения в библиотеке поддержки V4 :
- Добавлен
AppLaunchChecker, чтобы помочь отслеживать, как ваше приложение было запущено пользователем в прошлом.hasStartedFromLauncher()позволяет вам узнать, запустил ли пользователь ваше приложение с домашнего экрана или было запускается только другие средства (например, для просмотра конкретных веб -URL). - Исправлена утечка памяти в
MediaBrowserServiceCompat.mConnections. ( Выпуск 205220 ) - Исправлена проблема, где
ViewPagerне учитывает маржу страницы на странице переворачивания. ( Выпуск 203816 ) -
Fragment.onRequestPermissionsResult()теперь доставляется в фрагменты детей.
- Добавлен
- Изменения в библиотеке v7 appcompat :
- Исправлена проблема в
AppCompatSpinner, которая может привести к появлению нескольких всплывающих часов. ( Выпуск 205052 ) - Исправлена проблема с тем, как кнопки без границ были окрашены. ( Выпуск 202967 )
- Исправлена проблема совместимости между
AppCompatDialogFragmentиAlertDialog. ( Выпуск 204805 ) - Отвещенные изменения в
TintResources, которые вызывали проблемы с памятью и конфигурацией. ( Выпуск 205236 )
- Исправлена проблема в
- Изменения для библиотеки Mediarouter V7 :
- Исправлено поведение Slider
MediaRouteControllerDialog. ( Выпуск 202299 )
- Исправлено поведение Slider
- Изменения в библиотеке предпочтений V7 :
- Фиксированная проблема, где
PreferenceFragmentCompatбудет сбой, если будет указанdividerHeight. ( Выпуск 204778 )
- Фиксированная проблема, где
- Изменения в библиотеке v7 recyclerview :
- Исправлена ошибка, где
RecyclerViewне вызовет обратные вызовы прокрутки, если растет диапазон видимых предметов. ( Выпуск 200987 ) - Исправлена ошибка, в которой
RecyclerView, если бы она была в линейной макете, была взвешена и содержал изображения. ( Выпуск 203276 ) - Исправлена авария в
OrientationHelper.getStartAfterPadding(). ( Выпуск 180521 ) - Исправлена авария с использованием
android:nestedScrollingEnabled. ( Выпуск 197932 )
- Исправлена ошибка, где
- Изменения в библиотеке поддержки дизайна :
- Исправлена ошибка, где скрытый нижний лист будет обрабатывать сенсорные события. ( Выпуск 203654 )
- Исправлена проблема с макетом с
BottomSheetBehavior, когдаfitsSystemWindowsверно. ( Выпуск 203057 ) - Исправлена проблема с доступностью с
Snackbar. ( Выпуск 182145 ) - Исправлена авария на переключателе
Snackbar. ( Выпуск 203924 ) - Исправлена ошибка в
AppBarLayoutсenterAlways. ( Выпуск 203661 ) - Исправлена ошибка, в которой
TextInputLayoutизлишне очищает цвет фонового фильтраEditTextобъекта. ( Выпуск 203357 )
Редакция 23.2.1
Март 2016 года
- Изменения в библиотеке поддержки V4 :
- Исправлена исключение в
DrawableCompat.wrap()иLayerDrawableна уровнях API с 17 по 19. ( Выпуск 201817 ) - Исправлена
ArrayIndexOutOfBoundsExceptionвViewDragHelper.shouldInterceptTouchEvent(). ( Выпуск 182262 ) - Исправлена ошибка в
ViewPager, связанном с расчетом прокрутки для изменений размера. - Исправлено
NullPointerException, когдаDrawerLayout.removeDrawerListener()вызывается без установленногоDrawerLayout.DrawerListener. ( Выпуск 202478 ) - Исправлена ошибка, в которой
ViewPagerне устанавливает параметрыAccessibilityEvent. - Исправлена проблема, которая вызвала отставание во время вращения устройства при использовании
Drawable.wrap(). ( Выпуск 201924 )
- Исправлена исключение в
- Изменения в библиотеке v7 appcompat :
- Загрязненная зависимость от векторных активов, так что разработчики, использующие библиотеку 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 ) - Исправлена утечка памяти, которая возникает при окраске ресурсов, используемых на притяжительных ресурсах с использованием AppCompat. ( Выпуск 202379 )
- Исправлена проблема с
KeyEventна уровне API 11 и ниже. ( Выпуск 202939 )
- Загрязненная зависимость от векторных активов, так что разработчики, использующие библиотеку AppCompat, не вынуждены использовать
- Изменения в библиотеке V7 CardView :
- Добавлена поддержка ночного режима для
CardView. ( Выпуск 194497 )
- Добавлена поддержка ночного режима для
- Изменения в библиотеке v7 recyclerview :
- Исправлены ошибки, связанные с различными методами показателя. ( Выпуск 201856 )
- Уменьшение периода блокировки, в котором
RecyclerViewне разрешает изменения адаптера при расчете макета или прокрутки. ( Выпуск 202046 ) - Исправлена сбой при вызове
notifyItemChanged()на элементе, который выходит из виду. ( Выпуск 202136 ) - Исправлена авария, которая возникает, когда
RecyclerView.LayoutManagerдобавляет и удаляет представление в том же проходе измерения. ( Выпуск 193958 )
- Изменения для библиотеки Mediarouter V7 :
- Исправлена авария, которая возникает при вызове
MediaRouter.getInstance()на уровне API 17. ( Выпуск 180654 )
- Исправлена авария, которая возникает при вызове
- Изменения для библиотеки Leanback V17 :
- Исправлена проблема с
GridLayout.onAddFocusables(), которая привела к выбору неправильного элемента. - Фиксированная проблема с действиями
GuidedStepFragmentисчезает после разрушения действия.
- Исправлена проблема с
- Изменения в библиотеке поддержки дизайна :
- Исправлена сбоя
TabLayout, вызванную накладкой. ( Выпуск 201827 ) - Исправлена ошибка в
NavigationView, которая привела к выбору неправильного цвета. ( Выпуск 201951 ) - Исправлена ошибка, где
setBackgroundTintList()больше не смог изменить цвет фона. ( Выпуск 201873 ) - Исправлена проблема, в которой
AppBarLayoutне полностью прокручивался из виду при использовании сandroid:fitsSystemWindows = “true”. ( Выпуск 201822 ) - Исправлена проблема, в которой
BottomSheetDialogнеправильно отображала короткие представления контента. ( Выпуск 201793 ) - Исправлена проблема, в которой
BottomSheetDialogFragmentдвигались спорадически, когда контент внутри был изменен. ( Выпуск 202125 ) - Исправлена аварий в контр -ссылке TextInputLayout
- Исправлена авария, которая произошла, когда
TextInputLayout.getCounterMaxLength()восстановил сохраненное состояние. ( Выпуск 202375 ) - Исправлена
ClassCastException, которое произошло при восстановленииCoordinatorLayoutиспользуя сохраненное состояние представления, которое не былоCoordinatorLayout.
- Исправлена сбоя
- Изменения для VectordRawableCompat:
- Исправлена ошибка, в которой была прочитана неправильная переменная для
android:tintMode. ( Выпуск 201907 )
- Исправлена ошибка, в которой была прочитана неправильная переменная для
Редакция 23.2.0
февраль 2016 г.
- Изменения в библиотеке поддержки V4 :
- Добавлен
MediaBrowserCompatдля поддержкиMediaBrowserиMediaBrowserServiceCompatдля поддержкиMediaBrowserService. Это полезно при подключении фонового сервиса приложения медиа с компонентами пользовательского интерфейса и интеграции с Android Auto и износом Android без требуния уровня API 21 или выше. - Система теперь называется
onActivityResult()для вложеннойFragmentActivity.
- Добавлен
- Изменения в библиотеке v7 appcompat :
- Добавлено функциональность ночного режима к уровню API 14 и выше. Переключитесь между светом материала и темными темами материала в зависимости от времени суток или настройки, специфичной для приложения.
- День и ночные темы можно найти здесь:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml -
AppCompatDelegate.setDefaultNightMode(): устанавливает режим приложения по умолчанию, передавая одну из следующих констант: -
MODE_NIGHT_AUTO -
MODE_NIGHT_NO -
MODE_NIGHT_YES -
MODE_NIGHT_FOLLOW_SYSTEM
-
-
AppCompatDelegate.setLocalNightMode(): переопределяет настройку ночного режима для локального компонента приложения. -
AppCompatDelegate.getDefaultNightMode(): возвращает ночной режим по умолчанию.
- День и ночные темы можно найти здесь:
- Изменения для библиотеки Mediarouter V7 :
-
MediaRouteControllerDialogтеперь правильно применяет пользовательские цвета темы приложения.
-
- Изменения в библиотеке поддержки дизайна :
- Добавлена поддержка нижних листов . Плагин взаимодействия,
BottomSheetBehavior, позволяет ребенку вид наCoordinatorLayout, чтобы действовать как нижний лист. Базовый класс,BottomSheetCallback, предоставляет обратные вызовы для мониторинга событий нижних листов.
- Добавлена поддержка нижних листов . Плагин взаимодействия,
- Изменения в библиотеке поддержки CustomTabs :
- Вкладки Chrome Custom теперь позволяют приложениям включать в себя нижнюю панель с кнопками действий в дополнение к существующей кнопке Top Action.
-
CustomTabsIntent.Builder.addToolBarItem(): добавляет кнопку действия на пользовательскую вкладку. Вы можете использовать это, чтобы добавить несколько кнопок. -
CustomTabsSession.setToolBarItem(): обновляет визуальные эффекты для элементов панели инструментов. Этот метод будет успешным только в том случае, если ему будет дано действительный идентификатор, а сеанс браузера находится на переднем плане.
- Добавлена библиотека поддержки VectordRawable:
- Добавлены классы:
-
VectorDrawableCompat -
AnimatedVectorDrawableCompat
-
- Добавляет поддержку
VectorDrawableактивов к приложениям, работающим на уровне API 7 или выше.AnimatedVectorDrawableактивы также поддерживаются на уровне API 11 или выше. Векторные активы могут быть значительно меньше, чем активы изображения, и должны помочь уменьшить размер приложения, уменьшая количество активов, необходимых для поддержки нескольких экранов устройства. - Эта библиотека в настоящее время является зависимостью библиотеки AppCompat V7 , позволяя разработчикам и AppCompat легко использовать векторные притяжения. Чтобы использовать
VectorDrawableCompatв рамкахImageButtonилиImageView, используйтеapp:srcCompatXML -атрибут или методsetImageResource(). - Чтобы сохранить ссылки на идентификаторы атрибутов на уровне 20 или ниже API, добавьте следующий флаг
apptв своюbuild,gradleFile: - Если вы строите с плагином Android для 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 для Gradle 2.0.0 или выше, добавьте следующее в свой файл
build.gradle: android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Если вы строите с плагином Android для Gradle 1.5.0 или ниже, добавьте следующее в свой файл
- Изменения для библиотеки Leanback V17 :
- Добавлены новые возможности в
GuidedStepFragment, который является компонентом, который руководит пользователями через решение или серию решений: - Добавленные кнопки действий к
GuidedAction: -
GuidedStepFragment.setButtonActions(): устанавливает список кнопокGuidedAction, которые пользователь может выбрать из представления действий.
- Добавленные кнопки действий к
- Описание Поля теперь редактируются:
-
GuidedAction.Builder.descriptionEditable(): при прохожденииtrueустанавливает описание действия как редактируемое. -
GuidedAction.getEditDescription(): возвращает редактируемое описание в качествеCharSequence.
-
- Добавлены раскрывающиеся списки суб-действий:
-
GuidedAction.setSubActions(): устанавливает списокGuidedActionв качестве раскрывающегося меню суб-действий.
-
- Добавлена виджет
GuidedDatePickerActionдля функциональностиDatePicker:- Дата выбирается с использованием столбцов года, месяца и дневного и имеет настраиваемый диапазон.
-
GuidedDatePickerAction.Builder: Clailder Class для объектаGuidedDatePickerAction. -
GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): Установите желаемый формат даты, передавая соответствующую треххарактернуюString, например,“YMD”или“MDY”. В качестве альтернативы используйте атрибутdatePickerFormatXML.
- Добавлены новые возможности в
- Изменения в библиотеке v7 recyclerview :
-
RecyclerViewтеперь имеет функцию Opt-In, называемую Automeasure , которая позволяетRecyclerView.LayoutManagerлегко обернуть содержание или обрабатывать различные спецификации измерения, предоставляемые родителемRecyclerView. Он поддерживает все существующие возможности анимацииRecyclerView. - Если у вас есть пользовательский
RecyclerView.LayoutManager, вызовитеsetAutoMeasureEnabled(true)чтобы начать использовать новый API Automeasure. Все встроенные объектыRecyclerView.LayoutManagerпо умолчанию включают автоматическую меру. -
RecyclerView.LayoutManagerбольше не игнорирует некоторые настройкиRecyclerView.LayoutParams, такие какMATCH_PARENTв направлении прокрутки.Примечание. Эти снятые ограничения могут вызвать неожиданное поведение в ваших макетах. Убедитесь, что вы указали правильные параметры макета.
- Если у вас есть пользовательский
- При обновлении
RecyclerView.ViewHolderс информацией о полезной нагрузкеDefaultItemAnimatorтеперь отключает анимацию изменений. - Теперь вы можете изменить скорость побега
ItemTouchHelper, чтобы контролировать чувствительность к удару. Чтобы упростить или труднее перемещаться, переопределитеgetSwipeEscapeVelocity(float defaultValue)и изменитеdefaultValue.
-
Редакция 23.1.1
ноябрь 2015 г.
- Изменения в библиотеке v7 recyclerview:
- Исправлена аварий, который происходит, когда вы выполняете действие с проливным ударом, которое обеспечивает утилита
ItemTouchHelper, а затем добавляете элемент. ( Выпуск 190500 )
- Исправлена аварий, который происходит, когда вы выполняете действие с проливным ударом, которое обеспечивает утилита
- Изменения в библиотеке предпочтений V7:
- Исправлена проблема с использованием прогноза. ( Выпуск 183261 )
- Изменения в библиотеке поддержки Leanback V17:
- Исправлено ряд внутренних проблем в этой библиотеке.
- Изменения в библиотеке поддержки дизайна:
- Добавлен метод
getHeaderViewв классNavigationView. - Исправлена прозрачная проблема с фоном для объекта
FloatingActionButtonна устройствах под управлением Android 4.0 (API -уровень 15) и ниже. ( Выпуск 183315 )
- Добавлен метод
Редакция 23.1.0
Октябрь 2015 г.
- Изменения в библиотеке поддержки V4:
- Добавлена поддержка интерфейса интерфейса
OnScrollChangedListenerк виджетуNestedScrollView. Это позволяет получать обратные вызовы при изменении позиций Scroll X или Y. - Добавлен класс
MediaButtonReceiverдля пересылки, полученного контроля воспроизведения в услугу, которая управляет классомMediaSessionCompat. У классаMediaSessionCompatесть конструктор, который может автоматически найти приемник кнопки мультимедиа в манифесте. Приемник из кнопки мультимедиа является ключевой частью для обработки элементов управления воспроизведением от оборудования или элементов управления Bluetooth.
- Добавлена поддержка интерфейса интерфейса
- Изменения в библиотеке v7 appcompat:
- Добавленный дизайн материала
Seekbarи виджетыImageButton. - Обновлено виджет
ImageView, чтобы поддержать функцию оттенка. - Обновил внешний вид виджета
SwitchCompat.
- Добавленный дизайн материала
- Изменения для библиотеки Mediarouter V7:
- Добавлены следующие функции в класс
MediaRouteChooserDialog: - Отображает страницу загрузки при обнаружении поставщиков медиа -маршрутов.
- Включает значок типа устройства для более легкой идентификации устройства.
- Сортирует маршруты в соответствии с частотой использования в текущем приложении.
- Поддерживает ландшафтный режим.
- Добавлены следующие функции в класс
MediaRouteControllerDialog: - Распознает литье экрана и дает правильное описание.
- Поддерживает различные размеры искусства альбома и соотношения сторон и загружает искусство асинхронно.
- Автоматически выбирает цвет контента на основе основного цвета приложения.
- Регулирует макет диалога на основе доступного пространства экрана на устройстве.
- Поддерживает ландшафтный режим.
- Добавлены следующие функции в класс
- Изменения в библиотеке палитры V7:
- Добавлен метод
setRegion()для поддержки извлечения цвета из определенной области объектаBitmap.
- Добавлен метод
- Изменения в библиотеке v7 recyclerview:
- Добавлен улучшенный API анимации в класс
ItemAnimatorдля лучшей настройки: - Изменение анимации больше не обеспечивает соблюдение двух копий объекта
ViewHolder, которые позволяют анимации содержимого элемента. Кроме того, объектItemAnimatorрешает, хочет ли он повторно использовать тот же объектViewHolderили создать новый. - Новая информационная запись API дает классу
ItemAnimatorгибкость для сбора данных в правильной точке в жизненном цикле макета. Эта информация позже передается в озабоченные вызовы.
- Предоставил легкий план перехода для этого изменения API-несогласного на обратном направлении:
- Если вы ранее расширили класс
ItemAnimator, вы можете изменить свой базовый класс наSimpleItemAnimator, и ваш код должен работать, как и раньше. КлассSimpleItemAnimatorпредоставляет старый API, обернув новый API. - Некоторые методы были удалены из класса
ItemAnimator. Следующий код больше не будет компилировать:
Котлин
recyclerView.itemAnimator.supportsChangeAnimations = false
Ява
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
Вы можете заменить его:
Котлин
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Ява
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- Добавлен улучшенный API анимации в класс
- Изменения в библиотеке поддержки предпочтений V7 , V14 и V17 :
- Удаленные API для управления диалогами
EditText.
- Удаленные API для управления диалогами
- Изменения в библиотеке поддержки Leanback V17:
- Добавлена версия класса
GuidedStepFragmentдля библиотеки поддержки (расширяетandroid.support.v4.app.Fragment) и улучшенные анимации и переходы. - Обновил класс
GuidedStepFragment, чтобы его можно было размещать поверх существующего контента. - Добавлена возможность аннотировать различные типы завершений поиска в класс
SearchFragment. - Добавлена ошеломленная поддержка перехода слайда в класс
VerticalGridFragment.
- Добавлена версия класса
- Изменения в библиотеке поддержки дизайна:
- Добавлена поддержка подсчета символов к виджету
TextInputLayout. - Добавлена поддержка сдачи в классе
AppBarLayout, добавив константуSCROLL_FLAG_SNAP. Когда прокрутка заканчивается, если представление только частично видно, представление складывается и прокручивается до его ближайшего края. - Добавлена поддержка пользовательских представлений в класс
NavigationViewс помощьюapp:actionLayoutAttribute илиMenuItemCompat.setActionView().
- Добавлена поддержка подсчета символов к виджету
- Изменения в библиотеке поддержки пользовательских вкладок:
- Добавлен метод
enableUrlBarHiding()вCustomTabsIntentClass. Он позволяет клиенту настроить, следует ли автоматически скрыть на URL -план. - Добавлен метод
setActionButton()в классCustomTabsSession. Он позволяет клиенту изменить значок для пользовательской кнопки действий на уже запущенной пользовательской вкладке. - Добавлены константы
TAB_SHOWNиTAB_HIDDENв качестве новых событий для методаonNavigationEventклассаCustomTabsCallback.
- Добавлен метод
Редакция 23.0.1
Сентябрь 2015 г.
- Изменения в библиотеке поддержки предпочтений V7 и V14 :
- Добавлены макет дизайна материала и файлы стиля. ( Выпуск 183376 )
- Изменения в библиотеке v7 appcompat:
- Фиксированные проблемы с аварией для класса
Fragment, ограничивая использование аппаратных слоев до Android 4.1 (уровень 16 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 г.
- Изменения в библиотеке поддержки дизайна:
- Добавлены методы
hide()иshow()в классFloatingActionButtonдля программного запуска анимации. - Добавлена постоянная
LENGTH_INDEFINITEв классSnackbarдля демонстрации закусочной до тех пор, пока она не будет уволена, или не будет показана другая закусочная. Кроме того, добавлены методыsetActionTextColor(int)иsetActionTextColor(ColorStateList). - Добавлен метод
getSelectedTabPosition()в классTabLayoutдля получения вкладки в настоящее время выбранной вкладки. - Предоставил полностью беглый API для класса
android.support.v7.app.NotificationCompat.MediaStyleдля цепочки методов. - Добавлены методы удобства к
RecyclerViewдля пакетной вставки элементов.
- Добавлены методы
Полный список изменений библиотеки поддержки см. В отчете API библиотеки поддержки .
Редакция 22.2.0
май 2015 г.
- Добавлена библиотека поддержки дизайна:
- Добавлен
TextInputLayoutдля отображения текстаEditTextHint и ошибки в виде плавающих метков. - Добавлено
FloatingActionButtonдля реализации первичного действия на вашем интерфейсе в качестве кнопки «Плавающее действие», поддерживающую размеры по умолчанию или мини -размеры. - Добавлена
Snackbarдля обеспечения легкой обратной связи с дополнительным действием в анимированной закусочной. - Добавлена
TabLayoutдля реализации фиксированных и прокручиваемых вкладок , а также легкой интеграции сViewPager. - Добавлен
NavigationViewдля реализации содержания навигационных ящиков , включая возможность раздувать элементы меню через ресурс меню . - Добавлен
CoordinatorLayout, компоновка общего назначения, используемая для построения зависимостей между видами брата и позволяет простым реакциям прокрутки между компонентами черезCoordinatorLayout.Behavior. Behavior. Многие из компонентов библиотеки дизайна полагаются на то, чтобы стать ребенкомCoordinatorLayout. - Добавлен
AppBarLayout, контейнер дляToolbarи других видов (таких какTabLayout) для реагирования на события прокрутки путем прокрутки экрана, становясь видимым в реакции на прокрутку вниз, или рухнуть/разоблачить, прежде чем прокручивать/на экране. - Добавлены
CollapsingToolbarLayoutдля контроля того, какToolbarобрушивается. Панель инструментов может рухнуть с помощью: закрепления компонентов в верхней части экрана, когда она рушится, внедряя параллакс прокрутки компонентов, таких какImageView, или добавление цвета содержимого при приеме вида частично обрушивается.
- Добавлен
- Изменения в библиотеке поддержки V4:
- Добавлены методы
getContentChangeTypes()иsetContentChangeTypes()и связанные с ними поля типа изменения в классAccessibilityEventCompatдля обработки событий доступности. - Добавлены методы
getActiveQueueItemId(),getCustomActions()иgetExtras()с полями соответствующего состояния в классPlaybackStateCompatдля получения пользовательских действий из очереди. - Добавлены методы
addCustomAction(),setActiveQueueItemId()иsetExtras()в классPlaybackStateCompat.Builderдля добавления пользовательских действий в состояние воспроизведения. - Добавлены методы
fromCustomAction()иgetCustomAction()в классPlaybackStateCompat.CustomActionдля получения пользовательских действий из очереди. - Добавлены методы
isAttachedToWindow(),offsetLeftAndRight()иoffsetTopAndBottom()в классViewCompatдля работы с представлениями. - Добавлено
addOnPageChangeListener(),clearOnPageChangeListeners()иremoveOnPageChangeListener()в классViewPagerдля ответа на изменения страницы.Установил метод
ViewPager.setOnPageChangeListener(). - Добавлено метод
notifySubtreeAccessibilityStateChanged()в классViewParentCompatдля уведомления родителя о том, что состояние доступности одного из его потомков изменилось. - Добавлены методы
translationZ(),translationZBy(),z()иzBy()в классViewPropertyAnimatorCompatдля добавления анимации.
- Добавлены методы
- Изменения в библиотеке v7 appcompat :
- Добавлено метод
onWindowStartingSupportActionMode()в классахAppCompatActivity,AppCompatCallbackиAppCompatDialogдля обработки режимов действия, начатых из текущего окна. - Добавлены методы
isHandleNativeActionModesEnabled()иsetHandleNativeActionModesEnabled()в классеAppCompatDelegateдля обработки нативных режимов действия.
- Добавлено метод
Полный список изменений библиотеки поддержки см. В отчете API библиотеки поддержки .
Редакция 22.1.0
апрель 2015 г.
- Изменения в библиотеке аннотаций:
- Добавлена библиотека аннотаций, чтобы обеспечить поддержку улучшенных инспекций кода. Аннотации добавляются в виде тегов метаданных, которые вы прикрепляете к переменным, параметрам и возвращаемым значениям, чтобы осмотреть возвращаемые значения метода, пропущенные параметры, а также локальные переменные и поля.
- Изменения в библиотеке поддержки V4:
- Добавлен класс
ColorUtils, чтобы обеспечить набор методов утилиты, связанных с цветом. - Добавлены методы
unwrap()иwrap()в классDrawableCompat, что позволяет использоватьsetTint(),setTintList()иsetTintMode()на всех устройствах API уровня 4 или выше. - Добавлено класс
TraceCompatдля записи трассировки в системный буфер трассы, который затем можно собрать и визуализировать с помощью инструмента Systrace . - Добавлен класс
CircularIntArrayдля создания структур данных круговой целочисленной массива. - Добавлены методы
clear(),removeFromStart()иremoveFromEnd()в классCircularArray. Кроме того, изменили существующие методы в этом классе, чтобы быть нефильными. - Добавлено
InputDeviceCompatв качестве помощника класса для доступа к данным в классеInputDeviceCompat. - Добавлен класс
LayoutInflaterCompatв качестве помощника класса для доступа к данным в классеLayoutInflaterCompatи добавил интерфейсLayoutInflaterFactory. - Добавлены классы, методы и интерфейсы для поддержки вложенной прокрутки.
- Добавлены вложенные классы
NestedScrollingChildHelperиNestedScrollingParentHelperдля реализации вложенных взглядов на прокрутки родителей и детей. - Добавлено интерфейс
NestedScrollingChildдля реализации подклассовView. - Добавлены интерфейсы
NestedScrollingParentиScrollingViewдля поддержки операций прокрутки и обеспечения API, связанных с прокруткой. - Добавлен метод
getNestedScrollAxes()в классViewGroupCompat. - Добавлены методы в класс
ViewParentCompatдля поддержки вложенной прокрутки. - Добавлен класс
NestedScrollViewдля поддержки вложенного прокрутки родителей и ребенка в новой и старой версиях Android.
- Добавлены вложенные классы
- Добавлены методы и константы в класс
MotionEventCompatдля получения значений оси и источника событий. - Обновлено класс
AccessibilityNodeInfoCompat, чтобы добавить методы для ошибок, недействительную контент и этикетки. - Добавлены следующие классы интерполяции для анимации:
FastOutLinearInInterpolator,FastOutSlowInInterpolator,LinearOutSlowInInterpolator,LinearOutSlowInInterpolatorиPathInterpolatorCompat. - Добавлен
Spaceкласс, чтобы создать разрывы между компонентами в макетах общего назначения. Этот класс устарел в библиотеке Gridlayout. - Добавлен класс
TextViewCompatдля доступа к функциям вTextView. - Добавлен параметр смещения в метод
onPull()в классеEdgeEffectCompat.
- Добавлен класс
- Изменения в библиотеке v7 appcompat :
- Добавлена поддержка TINT в виджеты AppCompat, включая
AppCompatAutoCompleteTextView,AppCompatButton,AppCompatCheckBox,AppCompatCheckedTextView,AppCompatEditText,AppCompatMultiAutoCompleteTextView,AppCompatRadioButton,AppCompatRatingBar,AppCompatSpinner, иAppCompatTextView. - Обновлено
AppCompatActivityкак базовый класс для действий, которые используют функции строки действий библиотеки поддержки. Этот класс заменяет устаревшуюActionBarActivity. - Добавлено интерфейс
AppCompatCallback, который будет реализован для AppCompat, чтобы иметь возможность выполнять обратные вызовы. - Добавлен класс
AppCompatDelegateAbstract в качестве делегата, который вы можете использовать для расширения поддержки AppCompat на любую деятельность. - Добавлен класс
AppCompatDialogв качестве базового класса для диалогов тематических тематических акций AppCompat. - Добавлены классы стиля Spinner
AlertDialogиAlertDialog.Builder, чтобы предоставить AppCompat ThemedAlertDialog. - Добавлен класс
Palette.BuilderДля создания экземпляровPalette.- Добавлено метод
from(Bitmap)в классPalette, чтобы начать генерировать палитру с возвращеннойPalette.Builder. - Установил
Palette.generate()иPalette.generateAsync()Методы.
- Добавлено метод
- Добавлен метод
getAbsoluteAlignment()в классGridLayout.Spec. - Умеренное использование
app:themeдляToolbarдля стиля. Теперь вы можете использоватьandroid:themeдля панелей инструментов на всех устройствах API 7 и более высоких устройств иandroid:themeдля всех виджетов на уровне API 11 и более высоких устройств.
- Добавлена поддержка TINT в виджеты AppCompat, включая
- Изменения для библиотеки Leanback V17 :
- Добавлены
GuidedStepFragment,GuidanceStylistиGuidedActionsStylistдля поддержки создания многоэтапных потоков решений.
- Добавлены
- Изменения в библиотеке v7 recyclerview :
- Добавлены классы
SortedListдля отображения элементов в заказе списка и предоставлены уведомлением об изменениях в списке. - Добавлен класс
SortedListAdapterCallback, который может связать сортированный список с классомRecyclerView.Adapter.
- Добавлены классы
- Изменения для библиотеки рендеров V8 :
- Добавлен класс
ScriptIntrinsicHistogramдля использования в качестве фильтра гистограммы. - Добавлен класс
ScriptIntrinsicResizeдля выполнения изменения размера 2D -распределения.
- Добавлен класс
- Изменения в библиотеке поддержки V4:
- Обновлено метод
getDrawable()для возврата объекта Draitable для указанного конкретного идентификатора ресурса, плотности экрана и темы. - Добавлен метод
setImportantForAccessibility(), чтобы вы могли указать, следует ли представить события доступности. - Добавлен метод
getStatusBarBackgroundDrawable(), чтобы вы могли получить фон стержня состояния. - Добавлены методы в класс
NotificationCompat.CarExtender.UnreadConversation, чтобы приложения Android Auto Messaging могли получить дополнительные данные уведомления. - Добавлен метод
getProgressCircleDiameter(), чтобы вернуть диаметр макета круга. - Изменил цвет
DrawerLayoutпо умолчанию наcolorPrimaryDark.
- Обновлено метод
- Изменения в библиотеке v7 appcompat :
- Добавлены стиль Spinner
Base_Widget_AppCompat_Spinner_Underlined. - Добавлены стили тонированных виджетов с помощью
Widget_AppCompat_AutoCompleteTextView,MultiAutoCompleteTextView,TextAppearance_AppCompat_ButtonиBase_Widget_AppCompat_RatingBar.
- Добавлены стиль Spinner
- Изменения для библиотеки Leanback V17 :
- Добавлены методы
getRecycledPoolSize()иsetRecycledPoolSize()чтобы разрешить настраиваемые размеры переработанных пулов. - Добавлен атрибут
WRAP_CONTENTв настройку ширины макета для поддержки обернутого контента для значков заголовка. - Определено
R.transitionв XML для улучшения обновлений перехода. - Включенная поддержка для правых левых макетов.
- Добавлена поддержка Media Key Events в классе
PlaybackOverlayFragment. - Added enter and return transitions to the
BrowseFragmentclass and theDetailsFragmentclass. - Added the
replace()method to replace items in an object's adapter array.
- Добавлены методы
- Changes for v7 mediarouter library :
- Updated Google Cast icons to use the material design style.
- Updated all the icons used in the
MediaRouterdialogs to use the material design style.
- Changes for v7 recyclerview library :
- Added the
getlayoutPosition()andgetadapterPosition()methods to theRecyclerViewclass. - Deprecated the
classgetChildPosition()andfindViewHolderForPosition()methods in theRecyclerViewclass. - Deprecated the
getPosition()method in theRecyclerView.ViewHolderclass. - Deprecated the
getViewPosition()method in theRecyclerView.LayoutParamsclass.
- Added the
- Changes for v4 support library:
- Added several
NotificationCompat.WearableExtendermethods to improve the display of barcodes in notifications on wearable devices.
- Added several
- Changes for v4 support library:
- Added
NotificationCompat.CarExtenderclass to support Android Auto extensions to notifications.
- Added
- Changes for v7 appcompat library :
- Added the
PopupMenuconstructor to support new popup menus. - Added support for a Collapse icon description in the
Toolbarclass. - Updated the
SearchViewwidget to support displaying thecommitIcon. - Removed the
buttonGravityattribute from theToolbarclass.
- Added the
- Changes for v7 cardview library :
- Added
setCardBackgroundColor(ColorStateList)API to support changing the background color of theCardView. - Changed the
CardViewto more accurately report its opacity value asTRANSLUCENT.
- Added
- Changes for v7 recyclerview library :
- Added
TOUCH_SLOP_DEFAULTandTOUCH_SLOP_PAGINGconstants to theRecyclerViewclass to support touch slop configurations for paging.
- Added
- Changes for v17 leanback library :
- Added support to generate v4 code fragments.
- Changed the secondary text color on
CardView.
- Added multidex support library to support multiple Dalvik Executable (DEX) files for multi-dex file support prior to Android 5.0.
- Changes for v4 support library:
- Added support for
Fragmenttransitions for devices running Android 5.0 (API level 21). Be aware that transitions have no effect on devices running Android 4.4 and lower. - Added
DocumentFileto ease the transition fromFilewhile working with document trees. However, this class demands more processing overhead compared to the platform'sDocumentsContractAPI added in Android 4.4 (API level 19). So you should switch to usingDocumentsContractwhen running on Android 4.4 and higher.
- Added support for
- Changes for v7 appcompat library :
- Added support for material design user interfaces.
- Added
Toolbar, which generalizes the functionality ofActionBarfor use within app layouts. - Updated
ActionBarDrawerToggle, which contains the menu-to-arrow animation - Updated common user interface widgets to allow tinting via theme attributes when running on pre-Android 5.0 devices
- Added
SwitchCompat, a backport of theSwitchwidget that was added in Android 4.0 (API level 14).
- New v7 cardview library :
- Added the
CardViewwidget, which provides a material design-compatible implementation for displaying data items.
- Added the
- New v7 recyclerview library :
- Added the
RecyclerViewwidget, which provides a flexible list view for providing a limited window into a large data set.
- Added the
- New v7 palette library :
- Added
Paletteclass, which lets you extract prominent colors from an image.
- Added
- New v17 leanback library :
- Added support for building TV user interfaces, including
BrowseFragment,DetailsFragment, andPlaybackOverlayFragment. For more information about using these user interface widgets, see Building TV Playback Apps .
- Added support for building TV user interfaces, including
- Changes for v4 support library:
- Added extended notification support for Android Wear in
NotificationCompat.WearableExtender, which allows you to specify wearable-specific features in your notifications. - Added
NotificationCompat.Action.WearableExtender, which allows actions to be added on wearable notifications. - Added
NotificationManagerCompat, which allows you to issue notifications that properly support wearable features. - Added
RemoteInput, which allows a handheld device to receive voice input from a notification that appears on a wearable device. - Improved the handling of touch feedback in
SwipeRefreshLayout.
- Added extended notification support for Android Wear in
- Changes for v4 support library:
- Added the
SwipeRefreshLayoutclass, which enables users to refresh the contents of a view with a vertical swipe gesture. - Fixed accessibility issues with navigation drawers.
- Added the
- Changes for v7 appcompat library:
- Fixed background issues with the action bar.
- Changes for v4 support library:
- Improved
PrintHelperby adding asynchronous handling of printing. - Fixed the
DrawerLayoutclass approximation of theaddChildrenForAccessibility()method. - Fixed slide drawable mirroring in
ActionBarDrawerToggle. - Fixed off-by-one issue when removing an item from a collection iterator.
- Improved
- Changes for v7 mediarouter library:
- Improved route identification by using full component name in the
MediaRouteProvider.ProviderMetadata. - Updated
MediaRouteChooserDialogto hide disabled routes.
- Improved route identification by using full component name in the
- Changes for v8 renderscript library
- Added error propagation for the RenderScript thunking layer.
- Changes for v4 support library:
- Added support for external Storage APIs with the
getObbDirs(),getExternalFilesDirs(),getExternalCacheDirs(), andgetStorageState(). These helper methods always return a single file object on devices running Android 4.3 (API level 18) and earlier. When running on Android 4.4 (API level 19) and higher, these methods may return more than one file object. - Added
PrintHelperclass that works with the Print APIs to print images with a minimum of code. - Added drag-to-open user interface support for pop-up menus. For more information, see
PopupMenuCompatandListPopupWindowCompat. - Improved accessibility support with the addition of a
findFocus()method inAccessibilityNodeProviderCompatand thegetLiveRegion()method inAccessibilityNodeInfoCompat. - Added helper class
ScaleGestureDetectorCompatfor accessing new scaling gesture methods. - Fixed problem with
ActionBarDrawerTogglein right-to-left language displays. - Modified
AutoScrollHelperoption to consume touch events or allow them to be passed through to other views.
- Added support for external Storage APIs with the
- Changes for v7 mediarouter library:
- Added support for media playback queuing, setting HTTP header values and media playback duration.
- Added explicit start, get, and end session actions for explicitly managing media playback sessions with media router.
- Changes for v4 support library:
- Пользовательский интерфейс
- Added
BidiFormatterfor handling text strings that combine right to left and left to right-formatted text. - Modified
ViewPagerto better handle cases where the pager has a measured width of zero in the initial layout processing. - Modified
DrawerLayoutandSlidingPaneLayoutto not throw exceptions for measurement while the project code is being edited.
- Added
- Доступность
- Added
ExploreByTouchHelperto simplify the implementation of accessibility for custom views. - Fixed a problem with
ViewPagerincorrectly populatingTYPE_VIEW_SCROLLEDaccessibility events. - Fixed a null pointer exception in
ViewPagerwhen populating an accessibility event. - Simplified
AccessibilityNodeInfoCompatby changingCharSequenceinputs toStringobjects. - Deprecated an
AccessibilityRecordCompatconstructor that used anObjectas input.
- Added
- СМИ
- Added
TransportMediatorhelper class to manage media transport control, such as play, pause, skip and other media actions. - Added
DisplayManagerCompatfor managing display output to one or more device displays.
- Added
- Other changes
- Added
WakefulBroadcastReceiverhelper class for implementing a common pattern of detecting a device wakeup event and passing work off to aServicewhile ensuring that the device does not go back to sleep before the handoff is complete. - Added two new APIs,
commitContentChanged()androllbackContentChanged(), toAsyncTaskLoaderto help deal with background updates for data changes that are subsequently canceled.
- Added
- Пользовательский интерфейс
- New v7 appcompat library:
- Added
ActionBarto allow implementation of the action bar user interface design pattern back to Android 2.1 (API level 7) and higher. Use of this class requires that you implement your activity by extending the newActionBarActivityclass.
- Added
- New v7 mediarouter library:
Added a new mediarouter library that provides support for the Google Cast developer preview . The v7 mediarouter library APIs provide a means of controlling the routing of media channels and streams from the current device to external screens, speakers, and other destination devices, with compatibility back to Android 2.1 (API level 7). See V7 mediarouter library for more information.
The v7 mediarouter library APIs introduced in Support Library r18 are subject to change in later revisions of the Support Library. At this time, we recommend using the library only in connection with the Google Cast developer preview .
- Changes for v4 support library:
- Added
DrawerLayoutfor creating a Navigation Drawer that can be pulled in from the edge of a window. - Added
SlidingPaneLayoutwidget for creating linked summary and detail views that appropriately adapt to various screen sizes. - Added
ActionBarDrawerToggleas a way to tie together the functions ofDrawerLayoutandActionBar. - Added
ViewDragHelperas a new common component for dragging views within a parent view. - Added
ScrollerCompatto provideScrollerandOverScrollercompatibility support. - Added
FileProviderto allow sharing of private files between applications. - Updated
ViewPagerto throw an exception if the associatedPagerAdapterclass is modified without a call tonotifyDataSetChanged(). - Fixed an issue with
ViewPagerchildren drawing sort order. - Fixed
GestureDetectorCompatto dispatch missingonSingleTapConfirmed(MotionEvent)calls between tap timeout and long press events.
- Added
- New v7 gridlayout library:
- Added
GridLayoutto provide support for theGridLayoutlayout object. - Added
android.support.v7.widget.Spacewhich can be used to create blank areas within aGridLayoutlayout object.
- Added
- Changes for v4 support library:
- Improved interaction behavior for
ViewPager. - Fixed a bug that could cause
ViewPagerto select the wrong page. - Fixed use of
removeView()method during layout forViewPager. - Fixed issue with
SearchViewCompatwhere using the back button to dismiss does not clear the search text. This fix only applies to host API levels 14 and higher.
- Improved interaction behavior for
- Changes for v4 support library:
- Пользовательский интерфейс
- Added support for nested
Fragmentclasses. - Added improvements to
FragmentManagerdebugging. - Fixed problem in
FragmentTabHostwhere fragment and tab interaction could result in aListViewstate loss. - Fixed issue with user-visible hint in
FragmentStatePagerAdapter. - Added
PageTransformerinterface toViewPagerto allow applications to supply a custom transition behavior for scrolling. - Added new features and fixes to
TaskStackBuilderfrom current release. - Fixed
PagerTitleStripto correctly track thePagerAdaptercurrently in use. - Fixed display flickering, positioning, and text clipping problems with
PagerTitleStrip. - Fixed
PagerTabStripto properly respect padding when drawing an underline.
- Added support for nested
- Доступность
- Added support for new accessibility gesture and touch event types in
AccessibilityEventCompat. - Added support for new accessibility APIs in
ViewCompat. - Added support for
performAccessibilityAction()method toViewCompat.
- Added support for new accessibility gesture and touch event types in
- Added support for gestures with
GestureDetectorCompat. - Added support for performing atomic operations on files using a new
AtomicFileclass. - Added support for the full set of
makemethods inIntentCompat. - Added
trimToSize()method inLruCacheutility class. - Updated
ConnectivityManagerCompatto get NetworkInfo from aCONNECTIVITY_ACTIONbroadcast.
- Пользовательский интерфейс
- Changes for v4 support library:
- Added support for notification features introduced in Android 4.1 (API level 16) with additions to
NotificationCompat.
- Added support for notification features introduced in Android 4.1 (API level 16) with additions to
- Changes for v4 support library:
- User Interface Support
- Added
PagerTabStripsupport, providing enhanced functionality beyondPagerTitleStrip. - Fixed various bugs for
PagerTitleStripandPagerTabStrip, includingsetAllCapsoption, title alignment, appearance improvements, minimum width constraints and touch navigation issues. - Added support for
ViewPagerpage gutters, which helps theViewPagerclass provide paging support for content with a large horizontal scroll range, such as a map. - Fixed numerous bugs for
ViewPager, including size and data set change problems, page positioning, user interaction, scroll tracking and keyboard navigation problems. - Fixed many bugs for
Fragment, including proper handling ofonActivityResult()when the target fragment no longer exists, dispatching selection events to invisible fragments, improvedFragmentTransaction.replace()behavior and added better state handling for fragments being moved out of view. - Added support for the
postOnAnimation()method inViewCompat. - Updated
NavUtilsto use Android 4.1 (API level 16) Up navigation functionality when available.
- Added
- Доступность
- Updated accessibility support classes, including
AccessibilityNodeInfoCompat, to follow fixes made in Android 4.1 (API level 16). - Added support for accessibility scroll actions in
ViewPager.
- Updated accessibility support classes, including
- General improvements
- Updated
TaskStackBuilderto reflect API changes in Android 4.1 (API level 16). - Enhanced
TaskStackBuilderto allow it to be used from a Service. - Added support for
EXTRA_HTML_TEXTtoShareCompat. - Updated
NotificationCompat.Builderto support thesetNumber()method. - Added support in
ConnectivityManagerCompatfor theisActiveNetworkMetered()method.
- Updated
- User Interface Support
- Changes for v4 support library:
- Fixed intent flags for
PendingIntentobjects generated byTaskStackBuilder. - Removed unused attributes from the gridlayout library projects to make sure the library can be built with API level 7 and higher.
- Added
.classpathand.projectfiles for the gridlayout library project.
- Fixed intent flags for
- Changes for v4 support library:
- Added
ShareCompat, which provides helper classes for sending and receiving content for social sharing applications, including new metadata for attributing shared data to the source app. This class also provides compatible integration with the newShareActionProviderin Android 4.0. - Added
NavUtilsandTaskStackBuilderto provide support for implementing the Android Design guidelines for navigation. These additions include a way to implement the action bar's Up button across versions. For an example implementation of this pattern, see the AppNavigation sample in (<em><sdk></em>/samples/<em><platform></em>/AppNavigation). - Added
NotificationCompat.Builderto provide a compatibility implementation of Android 3.0'sNotification.Builderhelper class for creating standardized system notifications.
- Added
- Changes for v4 support library:
- Changes to ViewPager:
- Added extra decorative view support for
ViewPager. Decorative views may be supplied as child views of a pager in XML layout. - Added
PagerAdapter.getPageTitle()to supply title strings for pages, which defaults to no title for each page. - Added
PagerTitleStrip, a non-interactive title strip, that can be added as a child of ViewPager. Developers can supply text appearance and color, as well as layout sizing and gravity information. - Updated
PagerAdaptermethods to take ViewGroup objects, rather than View to avoid class casting in adapter implementations. - Updated
ViewPagerto use Launcher-style fling behavior. - Bug fixes for user interface interaction and test automation.
- Added extra decorative view support for
- Support for Fragments:
- Changed
setStartDeferred()method tosetUserVisibleHint(boolean). - Added deferred start for off-screen pages to improve performance.
- Changed
- Support for Accessibility APIs:
- Updated
AccessibilityDelegateCompatmethods to return empty lists instead of null. - Added new APIs needed by the v4 samples.
- Updated
- Changes to ViewPager:
- Changes for v4 support library:
- Support for Accessibility APIs:
- Added
AccessibilityDelegateCompatto supportView.AccessibilityDelegate. - Added
AccessibilityEventCompatto supportAccessibilityEvent. - Added
AccessibilityManagerCompatto supportAccessibilityManager. - Added
AccessibilityNodeInfoCompatto supportAccessibilityNodeInfo. - Added
AccessibilityRecordCompatto supportAccessibilityRecord. - Added
AccessibilityServiceInfoCompatto supportAccessibilityServiceInfo. - Added
ViewGroupCompatto support accessibility features inViewGroup. - Modified
ViewCompatto support accessibility features inView.
- Added
- Changes to ViewPager:
- Added support for margins between pages. An optional
Drawablecan be provided to fill the margins. - Added support for
EdgeEffect. - Added support for keyboard navigation
- Added support to control how many pages are kept to either side of the current page.
- Improved touch physics.
- Bug fixes for user interface behavior.
- Added support for margins between pages. An optional
- Support for Accessibility APIs:
- Changes for v4 support library:
- Added
EdgeEffectCompatto supportEdgeEffect. - Added
LocalBroadcastManagerto allow applications to easily register for and receive intents within a single application without broadcasting them globally. - Added support in
ViewCompatto check for and set overscroll modes forViews on Android 2.3 and later. - Changes to Fragment APIs:
- Added new APIs to control the visibility of new menus.
- Added custom animation APIs.
- Added APIs in
FragmentActivityto retain custom, non-configuration instance data. - Various bug fixes.
- Fixed a
Loaderbug that caused issues in cancelingAsyncTasks when running on Froyo and older versions of the platform. The support code now uses its own version ofAsyncTaskto keep the same behavior on all platform versions.
- Added
- Changes for v4 support library:
- Adds support for
Fragment.SavedState - Adds
MotionEventCompatto support newerMotionEventAPIs - Adds
VelocityTrackerCompatto support a newerVelocityTrackerAPIs - Adds
ViewConfigurationCompatto support a newerViewConfigurationAPIs - All new APIs (available only in the support library) that allow you to create UIs with horizontal paging, allowing users to swipe left and right between content views. Classes to support this include:
-
ViewPager: AViewGroupthat manages the layout for the child views, which the user can swipe between. -
PagerAdapter: An adapter that populates theViewPagerwith the views that represent each page. -
FragmentPagerAdapter: An extension ofPagerAdapterfor flipping between fragments. -
FragmentStatePagerAdapter: An extension ofPagerAdapterfor flipping between fragments that uses the library's support forFragment.SavedState.
-
- Adds support for
- New v13 support library:
- Includes the
FragmentPagerAdapterandFragmentStatePagerAdapterto support the horizontal paging.These are exactly the same as the APIs added to the v4 support library, but rely on other platform components in Android 3.2. Use this library instead of v4 if you're developing for Android 3.2 and higher (all other APIs in the v4 library are already available with API level 13).
- Includes the
- Changes for v4 library:
- Support for fragment animations
- Fix
Fragment.onActivityResult()bug
Редакция 22
Март 2015 г.
Revision 21.0.3
декабрь 2014 г.
Revision 21.0.2
ноябрь 2014 г.
Revision 21.0.1
ноябрь 2014 г.
Revision 21
Октябрь 2014 г.
Revision 20
июль 2014 г.
Revision 19.1.0
March 2014
Revision 19.0.1
декабрь 2013 г.
Revision 19
Октябрь 2013 г.
Revision 18
июль 2013 г.
Revision 13
май 2013 г.
Revision 12
февраль 2013 г.
Revision 11
ноябрь 2012 г.
Revision 10
август 2012 г.
Revision 9
июнь 2012 г.
Revision 8
апрель 2012 г.
Редакция 7
Март 2012 г.
Revision 6
декабрь 2011 г.
Note: Reference for support library APIs are now available with the framework references, for example: android.support.v4.app .
Revision 5
декабрь 2011 г.
Редакция 4
октябрь 2011 г.
Редакция 3
июль 2011 г.
Revision 2
май 2011 г.
Revision 1
март 2011 г.
Initial release with the v4 library.