На этой странице представлены сведения о старых выпусках пакетов библиотеки поддержки. Самые последние выпуски библиотеки поддержки см. в разделе «Последние версии библиотеки поддержки» .
Версия 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:srcCompat
XML -атрибут или методsetImageResource()
. - Чтобы сохранить ссылки на идентификаторы атрибутов на уровне 20 или ниже API, добавьте следующий флаг
appt
в своюbuild,gradle
File: - Если вы строите с плагином 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”
. В качестве альтернативы используйте атрибутdatePickerFormat
XML.
- Добавлены новые возможности в
- Изменения в библиотеке 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:actionLayout
Attribute илиMenuItemCompat.setActionView()
.
- Добавлена поддержка подсчета символов к виджету
- Изменения в библиотеке поддержки пользовательских вкладок:
- Добавлен метод
enableUrlBarHiding()
вCustomTabsIntent
Class. Он позволяет клиенту настроить, следует ли автоматически скрыть на 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
для отображения текстаEditText
Hint и ошибки в виде плавающих метков. - Добавлено
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, чтобы иметь возможность выполнять обратные вызовы. - Добавлен класс
AppCompatDelegate
Abstract в качестве делегата, который вы можете использовать для расширения поддержки 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 для улучшения обновлений перехода. - Enabled support for right to left layouts.
- Added the play and pause media key events support to the
PlaybackOverlayFragment
class. - Added enter and return transitions to the
BrowseFragment
class and theDetailsFragment
class. - 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
MediaRouter
dialogs to use the material design style.
- Changes for v7 recyclerview library :
- Added the
getlayoutPosition()
andgetadapterPosition()
methods to theRecyclerView
class. - Deprecated the
classgetChildPosition()
andfindViewHolderForPosition()
methods in theRecyclerView
class. - Deprecated the
getPosition()
method in theRecyclerView.ViewHolder
class. - Deprecated the
getViewPosition()
method in theRecyclerView.LayoutParams
class.
- Added the
- Changes for v4 support library:
- Added several
NotificationCompat.WearableExtender
methods to improve the display of barcodes in notifications on wearable devices.
- Added several
- Changes for v4 support library:
- Added
NotificationCompat.CarExtender
class to support Android Auto extensions to notifications.
- Added
- Changes for v7 appcompat library :
- Added the
PopupMenu
constructor to support new popup menus. - Added support for a Collapse icon description in the
Toolbar
class. - Updated the
SearchView
widget to support displaying thecommitIcon
. - Removed the
buttonGravity
attribute from theToolbar
class.
- Added the
- Changes for v7 cardview library :
- Added
setCardBackgroundColor(ColorStateList)
API to support changing the background color of theCardView
. - Changed the
CardView
to more accurately report its opacity value asTRANSLUCENT
.
- Added
- Changes for v7 recyclerview library :
- Added
TOUCH_SLOP_DEFAULT
andTOUCH_SLOP_PAGING
constants to theRecyclerView
class 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
Fragment
transitions 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
DocumentFile
to ease the transition fromFile
while working with document trees. However, this class demands more processing overhead compared to the platform'sDocumentsContract
API added in Android 4.4 (API level 19). So you should switch to usingDocumentsContract
when 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 ofActionBar
for 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 theSwitch
widget that was added in Android 4.0 (API level 14).
- New v7 cardview library :
- Added the
CardView
widget, which provides a material design-compatible implementation for displaying data items.
- Added the
- New v7 recyclerview library :
- Added the
RecyclerView
widget, which provides a flexible list view for providing a limited window into a large data set.
- Added the
- New v7 palette library :
- Added
Palette
class, 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
SwipeRefreshLayout
class, 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
PrintHelper
by adding asynchronous handling of printing. - Fixed the
DrawerLayout
class 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
MediaRouteChooserDialog
to 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
PrintHelper
class 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
PopupMenuCompat
andListPopupWindowCompat
. - Improved accessibility support with the addition of a
findFocus()
method inAccessibilityNodeProviderCompat
and thegetLiveRegion()
method inAccessibilityNodeInfoCompat
. - Added helper class
ScaleGestureDetectorCompat
for accessing new scaling gesture methods. - Fixed problem with
ActionBarDrawerToggle
in right-to-left language displays. - Modified
AutoScrollHelper
option 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
BidiFormatter
for handling text strings that combine right to left and left to right-formatted text. - Modified
ViewPager
to better handle cases where the pager has a measured width of zero in the initial layout processing. - Modified
DrawerLayout
andSlidingPaneLayout
to not throw exceptions for measurement while the project code is being edited.
- Added
- Доступность
- Added
ExploreByTouchHelper
to simplify the implementation of accessibility for custom views. - Fixed a problem with
ViewPager
incorrectly populatingTYPE_VIEW_SCROLLED
accessibility events. - Fixed a null pointer exception in
ViewPager
when populating an accessibility event. - Simplified
AccessibilityNodeInfoCompat
by changingCharSequence
inputs toString
objects. - Deprecated an
AccessibilityRecordCompat
constructor that used anObject
as input.
- Added
- СМИ
- Added
TransportMediator
helper class to manage media transport control, such as play, pause, skip and other media actions. - Added
DisplayManagerCompat
for managing display output to one or more device displays.
- Added
- Другие изменения
- Added
WakefulBroadcastReceiver
helper class for implementing a common pattern of detecting a device wakeup event and passing work off to aService
while ensuring that the device does not go back to sleep before the handoff is complete. - Added two new APIs,
commitContentChanged()
androllbackContentChanged()
, toAsyncTaskLoader
to help deal with background updates for data changes that are subsequently canceled.
- Added
- Пользовательский интерфейс
- New v7 appcompat library:
- Added
ActionBar
to 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 newActionBarActivity
class.
- 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
DrawerLayout
for creating a Navigation Drawer that can be pulled in from the edge of a window. - Added
SlidingPaneLayout
widget for creating linked summary and detail views that appropriately adapt to various screen sizes. - Added
ActionBarDrawerToggle
as a way to tie together the functions ofDrawerLayout
andActionBar
. - Added
ViewDragHelper
as a new common component for dragging views within a parent view. - Added
ScrollerCompat
to provideScroller
andOverScroller
compatibility support. - Added
FileProvider
to allow sharing of private files between applications. - Updated
ViewPager
to throw an exception if the associatedPagerAdapter
class is modified without a call tonotifyDataSetChanged()
. - Fixed an issue with
ViewPager
children drawing sort order. - Fixed
GestureDetectorCompat
to dispatch missingonSingleTapConfirmed(MotionEvent)
calls between tap timeout and long press events.
- Added
- New v7 gridlayout library:
- Added
GridLayout
to provide support for theGridLayout
layout object. - Added
android.support.v7.widget.Space
which can be used to create blank areas within aGridLayout
layout object.
- Added
- Changes for v4 support library:
- Improved interaction behavior for
ViewPager
. - Fixed a bug that could cause
ViewPager
to select the wrong page. - Fixed use of
removeView()
method during layout forViewPager
. - Fixed issue with
SearchViewCompat
where 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:
- User Interface
- Added support for nested
Fragment
classes. - Added improvements to
FragmentManager
debugging. - Fixed problem in
FragmentTabHost
where fragment and tab interaction could result in aListView
state loss. - Fixed issue with user-visible hint in
FragmentStatePagerAdapter
. - Added
PageTransformer
interface toViewPager
to allow applications to supply a custom transition behavior for scrolling. - Added new features and fixes to
TaskStackBuilder
from current release. - Fixed
PagerTitleStrip
to correctly track thePagerAdapter
currently in use. - Fixed display flickering, positioning, and text clipping problems with
PagerTitleStrip
. - Fixed
PagerTabStrip
to 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
AtomicFile
class. - Added support for the full set of
make
methods inIntentCompat
. - Added
trimToSize()
method inLruCache
utility class. - Updated
ConnectivityManagerCompat
to get NetworkInfo from aCONNECTIVITY_ACTION
broadcast.
- User Interface
- 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
PagerTabStrip
support, providing enhanced functionality beyondPagerTitleStrip
. - Fixed various bugs for
PagerTitleStrip
andPagerTabStrip
, includingsetAllCaps
option, title alignment, appearance improvements, minimum width constraints and touch navigation issues. - Added support for
ViewPager
page gutters, which helps theViewPager
class 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
NavUtils
to 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
TaskStackBuilder
to reflect API changes in Android 4.1 (API level 16). - Enhanced
TaskStackBuilder
to allow it to be used from a Service. - Added support for
EXTRA_HTML_TEXT
toShareCompat
. - Updated
NotificationCompat.Builder
to support thesetNumber()
method. - Added support in
ConnectivityManagerCompat
for theisActiveNetworkMetered()
method.
- Updated
- User Interface Support
- Changes for v4 support library:
- Fixed intent flags for
PendingIntent
objects 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
.classpath
and.project
files 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 newShareActionProvider
in Android 4.0. - Added
NavUtils
andTaskStackBuilder
to 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.Builder
to provide a compatibility implementation of Android 3.0'sNotification.Builder
helper 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
PagerAdapter
methods to take ViewGroup objects, rather than View to avoid class casting in adapter implementations. - Updated
ViewPager
to 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
AccessibilityDelegateCompat
methods 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
AccessibilityDelegateCompat
to supportView.AccessibilityDelegate
. - Added
AccessibilityEventCompat
to supportAccessibilityEvent
. - Added
AccessibilityManagerCompat
to supportAccessibilityManager
. - Added
AccessibilityNodeInfoCompat
to supportAccessibilityNodeInfo
. - Added
AccessibilityRecordCompat
to supportAccessibilityRecord
. - Added
AccessibilityServiceInfoCompat
to supportAccessibilityServiceInfo
. - Added
ViewGroupCompat
to support accessibility features inViewGroup
. - Modified
ViewCompat
to support accessibility features inView
.
- Added
- Changes to ViewPager:
- Added support for margins between pages. An optional
Drawable
can 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
EdgeEffectCompat
to supportEdgeEffect
. - Added
LocalBroadcastManager
to allow applications to easily register for and receive intents within a single application without broadcasting them globally. - Added support in
ViewCompat
to check for and set overscroll modes forView
s 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
FragmentActivity
to retain custom, non-configuration instance data. - Various bug fixes.
- Fixed a
Loader
bug that caused issues in cancelingAsyncTask
s when running on Froyo and older versions of the platform. The support code now uses its own version ofAsyncTask
to keep the same behavior on all platform versions.
- Added
- Changes for v4 support library:
- Adds support for
Fragment.SavedState
- Adds
MotionEventCompat
to support newerMotionEvent
APIs - Adds
VelocityTrackerCompat
to support a newerVelocityTracker
APIs - Adds
ViewConfigurationCompat
to support a newerViewConfiguration
APIs - 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
: AViewGroup
that manages the layout for the child views, which the user can swipe between. -
PagerAdapter
: An adapter that populates theViewPager
with the views that represent each page. -
FragmentPagerAdapter
: An extension ofPagerAdapter
for flipping between fragments. -
FragmentStatePagerAdapter
: An extension ofPagerAdapter
for flipping between fragments that uses the library's support forFragment.SavedState
.
-
- Adds support for
- New v13 support library:
- Includes the
FragmentPagerAdapter
andFragmentStatePagerAdapter
to 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
Март 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 г.
Revision 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 г.
Revision 4
октябрь 2011 г.
Revision 3
July 2011
Revision 2
май 2011 г.
Revision 1
март 2011 г.
Initial release with the v4 library.