En esta página, se proporcionan detalles sobre las versiones anteriores de los paquetes de la biblioteca de compatibilidad. Para versiones más recientes de la biblioteca de compatibilidad; consulta Recientes Revisiones de la biblioteca de compatibilidad
Revisión 26.0.0 Beta 2
(junio de 2017)
Ten en cuenta que la revisión 26.0.0-beta2 es una versión previa al lanzamiento. Su superficie de API es sujeta a cambios y no necesariamente incluye funciones o correcciones de errores. de las versiones estables más recientes de la biblioteca de compatibilidad.
Importante: Las bibliotecas de compatibilidad ya están disponibles a través del repositorio Maven de Google. No es necesario que descargues el recurso de SDK Manager. Para obtener más información, consulta Configuración de la biblioteca de compatibilidad.
API nuevas
- Nueva clase de
JobIntentServicepara ayudarte los desarrolladores programan tareas de una manera que cumple con la nueva versión de Android O límites de ejecución en segundo plano.
Diferencias de API
Correcciones de errores
- La caída del SDK de Android O provoca la pérdida de cursiva en TextViews
- Excepción de puntero nulo durante la conexión a MediaBrowserServiceCompat
- TextInputLayout debe establecer sugerencias en onProvideAutofillStructure()
- Desbordamiento de pila cuando se usa el ajuste automático de tamaño de TextView en O
Revisión 26.0.0 Beta 1
(mayo de 2017)
Ten en cuenta que la revisión 26.0.0-beta1 es una versión previa al lanzamiento. Su superficie de API es sujeta a cambios y no necesariamente incluye funciones o correcciones de errores. de las versiones estables más recientes de la biblioteca de compatibilidad.
Importante: Las bibliotecas de compatibilidad ya están disponibles a través del repositorio Maven de Google. No es necesario que descargues el recurso de SDK Manager. Para obtener más información, consulta Configuración de la biblioteca de compatibilidad.
Cambios importantes
FragmentActivity.setSupportMediaController()yFragmentActivity.getSupportMediaController()se quitaron. Utiliza los nuevos métodos estáticosMediaControllerCompat.setMediaController()yMediaControllerCompat.getMediaController().- Ahora llama a
BottomNavigationViewonNavigationItemReselected()cuando se selecciona un elemento ya seleccionado en lugar de llamaronNavigationItemSelected() - Todas las instancias del método
findViewById()ahora devuelven<T extends View> Ten lugar deView. Este cambio tiene las siguientes implicaciones:- Esto puede provocar que el código existente ahora tenga un tipo de datos ambiguo que se muestra.
por ejemplo, si hay
someMethod(View)ysomeMethod(TextView)que lleva el resultado de una llamada afindViewById() - Cuando se usa el lenguaje de origen Java 8, se requiere una conversión explícita para
Viewcuando el tipo de datos que se muestra no tiene restricciones (por ejemplo,assertNotNull(findViewById(...)).someViewMethod()) - Anulaciones de métodos
findViewById()no finales (para por ejemplo,Activity.findViewById()) necesitarán la devolución tipo actualizado.
- Esto puede provocar que el código existente ahora tenga un tipo de datos ambiguo que se muestra.
por ejemplo, si hay
API nuevas
-
FragmentManageryFragmenttienen unisStateSaved()para permitir consultar si un transacción sin pérdida de estado. Esto es especialmente útil para verificar cuando se controla un eventoonClick()antes de ejecutar cualquier transacción. - En
AnimatedVectorDrawableCompat, se admite el movimiento de rutas. El movimiento de ruta permite que un animador de objeto cambie dos propiedades al mismo tiempo el tiempo en función de una ruta; la ruta se especificaandroid:pathDataen el XML del animador). - Basado en la física
animación:
- Nuevo objeto
FlingAnimationque admite animaciones con una velocidad inicial y se ralentiza suavemente. - Las subclases de
DynamicAnimationadmiten animaciones personalizadas. propiedad de cualquier objeto. - Tanto
SpringAnimationcomoFlingAnimationpueden ahora animar un valor flotante sin requerir unViewo unaObjectasociados.
Para obtener más información, consulta la Animación de primavera y Animación de lanzamiento páginas de vista previa.
- Nuevo objeto
-
Fuente
Compatibilidad en XML:
-
ResourcesCompat.getFontpermite cargar fuentes recursos, incluido XML de familia de fuentes, que pueden usarse conTextView.setTypeface() - Cuando se usa AppCompat, TextView admite especificar un recurso de fuente o
XML de familia de fuentes mediante el atributo XML
android:fontFamily - Usa XML de familia de fuentes para crear familias de fuentes con estilo y peso.
variaciones. (Si usas las clases de la biblioteca de compatibilidad para esto, usa el
atributos
app:, así comoandroid:atributos).
-
- Descargable
fuentes:
- Nuevo objeto
FontsContractCompatque te permite solicitar fuentes de un proveedor de fuentes en lugar de agruparlas en tu app. - Las fuentes también pueden solicitarse en XML y usarse en los diseños.
- Nuevo objeto
-
Compatibilidad con emojis
biblioteca:
-
EmojiCompatpuede procesar unCharSequencedeterminado y agregaEmojiSpans. -
EmojiTextViewy otros widgets para mostrar emojis. -
FontRequestEmojiCompatConfigpara solicitar fuentes de emojis desde un proveedor de fuentes.
-
-
Ajuste automático de tamaño
TextView:
- Nuevos métodos en
TextViewCompaty atributos XML para controlar el ajuste automático de tamaño enTextView.
- Nuevos métodos en
- Controles de reproducción Leanback con soporte de búsqueda:
-
- Nuevo
PlaybackTransportRowPresenterque renderiza la reproducción con una barra de búsqueda. - Nuevo
PlaybackTransportControlGlueque funciona conPlaybackTransportRowPresentery admite búsquedas. - Nueva clase base
PlaybackSeekDataProviderpara que la app proporcionar miniaturas de búsqueda aPlaybackTransportControlGlue
- Nuevo
- Almacén de datos de preferencias:
-
PreferenceDataStoreahora te permite implementar tu propio almacenamiento de preferencias, configurado con nuevos métodos enPreferenceyPreferenceManager.
-
Problemas conocidos
- Integración de la compatibilidad de fuentes y emojis descargables con Google Play Los Servicios solo funcionan en los Servicios de Google Play v11 y versiones posteriores, que actualmente disponible a través de la página Programa de Servicios Beta.
Correcciones de errores
-
La API de
MediaBrowserCompat.search()no funciona (problema de AOSP) 262170). -
ViewCompat.postInvalidateOnAnimation()arroja una excepción (AOSP (error 80146) -
onActivityCreated()llamó a fragmentos en una actividad destruida -
RecyclerView.isComputingLayout()debe mostrar el valor true durante carga previa -
Cuando se interrumpe y se revierte una transición de
Fade, laViewinicia la animación desde el principio. (Corregir puerto de Framework de Android). -
Transition.Fadeignora la versión alfa inicial deView(Problema 221820 de AOSP)
Revisión 26.0.0 Alfa 1
(marzo de 2017)
Ten en cuenta que la revisión 26.0.0-alpha1 es una versión previa al lanzamiento. Su superficie de API es sujeta a cambios y no necesariamente incluye funciones o correcciones de errores. de las versiones estables más recientes de la biblioteca de compatibilidad.
Cambios importantes
Nota: La versión mínima del SDK aumentó a 14. Como resultado, muchas APIs que existían solo para API < 14 tienen quedó obsoleto. Los clientes de estas APIs deben migrar a su framework equivalentes, como se indica en la página de referencia de cada API obsoleta.
- El módulo support-percent quedó obsoleto. Clientes de este módulo Deberías migrar al nuevo widget ConstraintLayout, que se proporciona como independiente en SDK Manager.
- El módulo support-fragment ya no depende del support-media-compat.
API nuevas
Se agregaron muchas clases, métodos y constantes nuevos para proporcionar compatibilidad con versiones anteriores para las APIs de plataforma agregadas en la versión preliminar de O.
IME_FLAG_NO_PERSONALIZED_LEARNING: Los IME pueden escuchar "sin aprendizaje" marcas de las aplicaciones que tienen modo privado, como los navegadores. Esta ayuda a los IME a comprender si una app está en modo privado, de modo que puedan inhabilitar su aprendizaje o funcionalidad adaptable mientras la app esté en ese .
Para obtener una lista completa de los cambios de la API entre 25.2.0 y 26.0.0-alpha1, consulta la API de la biblioteca de compatibilidad informe de diferencias.
Correcciones de errores
- En algunos casos, es simple
AutoTransition. la animación puede interrumpirse por "saltos" de la vista. (Problema 221816 de AOSP)
Revisión 25.4.0
(junio de 2017)
Importante: Las bibliotecas de compatibilidad ya están disponibles a través del repositorio Maven de Google. No es necesario que descargues el recurso de SDK Manager. Para obtener más información, consulta Configuración de la biblioteca de compatibilidad.
Cambios importantes
- No se permiten llamadas a
executePendingTransactions(),commitNow(),popBackStackImmediate()ni transacciones similares duranteFragmentManagercambia el estado. Reentrante La ejecución de transacciones no es segura yFragmentManagerahora aplica esto durante su estado cambios. - Simultáneamente con esta versión de la biblioteca de compatibilidad, también lanzaremos
multidex
versión 1.0.2. En esta versión, se incluyen los siguientes cambios importantes:
- Permite el uso de multidex para el APK de instrumentación.
- MultiDexTestRunner deja de estar disponible (se debe usar AndroidJUnitRunner en su lugar).
- Proporciona una mejor protección contra la extracción de archivos incorrecta. la administración de la app.
- Se corrigió un error que podía provocar archivos temporales abandonados.
- Proporciona una instalación más rápida cuando se realiza en un proceso simultáneo.
- Corrige un error de instalación en los niveles de API 19 y 20.
API nuevas y modificadas
Se admiten la transformación y la interpolación de rutas en AnimatedVectorDrawableCompat. Transformación de la ruta
permiten que las formas cambien desde una ruta (especificada como
android:valueFrom) a otra ruta (especificada como
android:valueTo), con el fin de proporcionar imágenes complejas y atractivas
efectos. La interpolación de la ruta permite que se especifiquen los interpoladores de AnimatedVectorDrawableCompat
como rutas (especificadas como android:pathData en la columna
XML).
Diferencias de API
Errores corregidos
- Excepción de puntero nulo durante la conexión a MediaBrowserServiceCompat
- La API de MediaBrowserCompat.search() no funciona (problema 262170 de AOSP)
- Devoluciones de llamada browseFragment onItemClicked dañadas en 25.3.0.
- NullPointerException mientras el usuario se desplaza hacia arriba y hacia abajo en VerticalGridView en 25.3.1
- ClassCastException en SimpleArrayMap.allocArrays()
Revisión 25.3.1
(marzo de 2017)
Errores corregidos
SwitchCompatrequiere una cantidad mínima de SDK. versión 14 o una posterior. (Problema 251302 de AOSP)- La animación basada en la física
updateListeneromite el primer fotograma. - Animación de la etiqueta
BottomNavigationViewestá roto.
Revisión 25.3.0
(marzo de 2017)
Cambios importantes
Los metadatos de la versión de la biblioteca de compatibilidad se agregarán automáticamente a
AndroidManifest.xml cuando compilas desde Gradle, lo que simplifica
y hacer un seguimiento de las versiones
en compilaciones públicas. Por ejemplo:
<meta-data android:name="android.support.VERSION" android:value=>"25.3.0" /
Elementos obsoletos
En esta versión, varios métodos y clases dejaron de estar disponibles. Estas APIs obsoletas se quitarán en una versión futura y los desarrolladores deberían migrar de ellos. Para obtener más información sobre cómo migrar específica, consulta su documentación.
ExifInterface- El método booleano
getLatLong(float[])dejó de estar disponible. En su lugar, usa el nuevo métodogetLatLong(). que no recibe argumentos y muestradouble[]. mediacompatPlaybackStateCompat.Builder.setErrorMessage(CharSequence)ya no está disponible. En su lugar, usa el nuevo métodosetErrorMessage(int, CharSequence), que recibe un código de error y una descripción opcional.EXTRA_SUGGESTION_KEYWORDSdejó de estar disponible. En su lugar, usa el Funcionalidad de búsqueda deMediaBrowserCompat.v7.recyclerviewLinearLayoutManager.getInitialItemPrefetchCount()recibió Se cambió el nombre porLinearLayoutManager.getInitialPrefetchItemCount(). El nombre antiguo aún es compatible, pero se quitará en una versión futura.
API nuevas y modificadas
appcompat-v7- El nuevo método
ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean)simplifica la inhabilitación de la animación del ícono para activar o desactivar el panel lateral de navegación. customtabs- Se agregó compatibilidad para canales de mensajes. Consulta la
CustomTabsService.requestPostMessageChannel()yCustomTabsService.postMessage()para obtener más detalles. dynamic-animation- Nueva biblioteca de animación basada en la física que proporciona un conjunto de APIs para Crear animaciones que reaccionen dinámicamente a las entradas del usuario.
leanback-v17- Se agregó compatibilidad con fondos de paralaje. Consulta la
Parallaxpara obtener más detalles. - Agregada
TimePickerpara seleccionar horarios en una interfaz de TV. mediacompat- Se agregó funcionalidad de búsqueda. Consulta la
MediaBrowserCompat.search()yMediaBrowserServiceCompat.onSearch()para obtener más detalles. - Se agregó compatibilidad con los modos de reproducción aleatoria y repetición. Consulta la
MediaSessionCompat.setRepeatMode()ysetShuffleModeEnabled()para obtener más detalles.
Errores corregidos
StaggeredGridLayoutManagerlanzaIllegalArgumentException(Problema 230295 de AOSP)- La carga previa de
RecyclerViewno controla correctamente unRecyclerViewque está adjunto, pero no en pantalla LinearLayoutno reconocido por Robolectric- Cuando se destruye
Activity,onActivityCreated()se invoca de manera incorrecta para sus fragmentos - El constructor
AppCompatImageViewprovocaArrayIndexOutOfBoundsException - Bajo rendimiento de la IU en la transición de actividad de
Call.Details
Revisión 25.2.0
(febrero de 2017)
Cambios importantes
Errores corregidos
- En esta versión, se soluciona un problema grave de mediarouter en el que usar un archivo A2DP las APIs de enrutamiento del dispositivo y del contenido multimedia podrían hacer que el dispositivo no responda lo que requiere un reinicio.
- El
FragmentManager.FragmentLifecycleCallbacksahora es estática.
Errores corregidos
- Mostrar una presentación de diapositivas con duplicación de pantalla hace que el dispositivo Desconéctate de la red Wi-Fi
- El botón multimedia no manejó correctamente las apps de música que no se registraron
con
setMediaButtonReceiver() -
Error
VectorDrawablecon recurso de cadenas (problema 232407 de AOSP) - Sugerencia de superposiciones de
TextInputLayouty texto si el texto se establece mediante XML (problema 230171 de AOSP) - Fuga de memoria en
MediaControllerCompat(problema de AOSP) 231441). -
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()fallando RecyclerViewfalla cuando se recicla contenedores de vistas (problema 225762 de AOSP)getAllowGeneratedReplies()muestra incorrectamente "false" para acciones dentro deWearableExtender
Revisión 25.1.1
(enero de 2017)
Importante: Hay un error conocido en el android.support.v7.media.MediaRouter
en las revisiones 25.1.1 y 25.1.0 de la biblioteca de compatibilidad. Si tu app usa
la versión 7 de MediaRouter,
debes actualizar a la Revisión de la biblioteca de compatibilidad 25.2.0.
que corrige este error.
Cambios importantes
-
Las transacciones de fragmentos ahora se pueden optimizar dentro y entre transacciones de contenedores. Optimizar operaciones de transacción de fragmentos puede eliminar las operaciones que cancelen. Por ejemplo, supongamos que se se ejecutan juntas, una que agrega un fragmento A y otra que reemplaza al fragmento A por el B. En este caso, la primera operación podría cancelarse y solo se agregue el fragmento B. Eso significa que el fragmento A podría no pasar por el ciclo de vida de creación/destrucción.
Un efecto secundario de esta optimización es que los fragmentos podrían tener estado cambios fuera del orden esperado. Por ejemplo, supongamos que una transacción agrega el fragmento A, un segundo agrega el fragmento B y un tercero quita el fragmento R. Sin optimización, el fragmento B podría esperar creado, el fragmento A también existirá porque el fragmento A se quitará después de agregar el fragmento B. Con la optimización, el fragmento B no puede estar seguro ese fragmento A existirá mientras se crea B, porque el fragmento A la creación y destrucción puede eliminarse a través de la optimización.
De manera predeterminada, esta optimización está inhabilitada. Para habilitar la optimización, llama a
FragmentTransaction.setAllowOptimization(true). - Ahora los fragmentos pueden posponer sus transiciones y animaciones
están listos para usar
Fragment.postponeEnterTransition()yFragment.startPostponedEnterTransition(). Esta API es similar aActivity.postponeEnterTransition()yActivity.startPostponedEnterTransition()cuando su uso se da con actividades de transacción.
Errores corregidos
-
MediaSessionCompatTestfalla conIllegalArgumentException -
No se llama a
DetailsFragment.installTitleView()en 25.1.0. - La transacción de fragmentos conserva la vista fantasma al salir (problema 230679 de AOSP)
-
BottomNavigationViewrequiere espaciado entre el ícono del elemento y el texto (Problema 230653 de AOSP) - Faltan objetos de escucha seleccionados en el
PlaybackFragmentnuevo yPlaybackSupportFragment -
El enfoque de
TextInputLayoutno cambia correctamente en el emulador desde la versión 25.1.0 de la biblioteca de compatibilidad (problema de AOSP) 230461). - No se puede reemplazar el menú de un
BottomNavigationView(AOSP (error 230343) -
RecyclerViewconStaggeredGridLayoutManagerfallas con elementos de intervalo completo (problema 230295 de AOSP) - Falla en
MediaSessionCompatcuando usandosetCallback(null) -
PlaybackGlueHostOldyPlaybackSupportGlueHostOldno notifica las devoluciones de llamada cuando cambios en la fila de reproducción -
Ejemplo de
PlaybackOverlayFragment/testno puede iniciar la reproducción -
RecyclerViewFocusRecoveryTestfalla en el nivel de API 15 - "Capturas de pantalla" la fila se enfoca en la parte superior de la pantalla
-
RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback()falla en el nivel de API 15. -
setActions()enonSubactionClicked()tiene errores -
RecyclerViewfalla cuando se reciclan algunos contenedores de vistas
Revisión 25.1.0
(diciembre de 2016)
Importante: Hay un error conocido en el android.support.v7.media.MediaRouter
en las revisiones 25.1.1 y 25.1.0 de la biblioteca de compatibilidad. Si tu app usa
la versión 7 de MediaRouter,
debes actualizar a la Revisión de la biblioteca de compatibilidad 25.2.0.
que corrige este error.
Cambios importantes
- Clientes de widgets
RecyclerViewanidados (por ejemplo, lista de desplazamiento vertical de listas de desplazamiento horizontal) puede obtener beneficios significativos de rendimiento al sugerir a los administradores de diseñoRecyclerViewinternos la cantidad de elementos a preparar antes de que se desplacen por la pantalla. LlamadaLinearLayoutManager.setInitialPrefetchItemCount(N), donde N es la cantidad de vistas visibles por elemento interno. Por ejemplo: si las listas horizontales internas muestran un mínimo de tres vistas y media de elementos. puedes mejorar el rendimiento llamandoLinearLayoutManager.setInitialPrefetchItemCount(4)Hacerlo permite queRecyclerViewcree todos los eventos de vistas anticipadas, mientras que elRecyclerViewexterno es el desplazamiento, lo que reduce significativamente la cantidad de saltos durante manuscritos. FragmentActivity.setSupportMediaController()yFragmentActivity.getSupportMediaController()dejaron de estar disponibles. Usa los nuevosMediaControllerCompat.setMediaController()yMediaControllerCompat.getMediaController()estáticos. .- Cuando un cliente especifica un tono de widget a través del tono de appcompat (por ejemplo,
appcompat:buttonTint), el cliente es responsable de proporcionar todos los estados necesarios (como "inhabilitado", "presionado", etc.). Este es de manera coherente con la forma en que se especifican los tonos de widget cuando se usan ajustes de tono del framework.
API nuevas y modificadas
- Se agregó compatibilidad con ExifInterface biblioteca. Esta biblioteca desagrupa compatibilidad para leer información EXIF de JPEG y formato sin procesar. y configurar la información EXIF en archivos de imagen JPEG.
- Se refactorizó
Snackbara permitir que las apps muestren contenido personalizado.BaseTransientBottomBares la nueva clase base que expone la comportamiento general de animaciones y deslizamiento. - Se agregó un nuevo paquete Leanback.media que contiene clases auxiliares para integrar reproductores multimedia en aplicaciones de Android TV.
- Se agregó
SeekBarPreferencecon diseño personalizable y atributos para la preferencia v7 biblioteca de compatibilidad. - Se agregó
ArraySeta la biblioteca de compatibilidad v4. Esta clase corresponde al framework La claseArraySetque se introdujo con el nivel de API 23. RecyclerViewelemento RecyclerView Mejoras en la carga previa:- Carga previa de
RecyclerViewanidada Permite la carga previa del contenido de unRecyclerViewdentro de otroRecyclerViewde desplazamiento, con la API para controlar la cantidad de completa la carga previa: - Se agregaron APIs para el
LayoutManagerpersonalizado. Objetos para implementar para habilitar la carga previa durante desplazamientos y deslizamientos - Mejoras en la carga previa para realizar solo el trabajo de creación y vinculación que sea posible. posible en el tiempo entre los fotogramas
- Carga previa de
Errores corregidos
- La alternancia de visibilidad de contraseña falla en las pruebas de accesibilidad.
- Appcompat no respeta
state_enableden dispositivos con versiones anteriores a Android L. - Se agregó un mecanismo de recuperación de foco a
RecyclerView. Esto también corrigió la preferencia de compatibilidad El foco dañado de fragmentos cuando se usa la navegación Dpad, como en Android TV dispositivos. - Leanback: BrowseFragment falla con los encabezados inhabilitados y el adaptador vacío.
- Appcompat:
AlertDialoges demasiado ancho. InputContentInfoCompatllamadarequestPermission()cuando debe llamar areleasePermission().MediaBrowserCompatfalla.- CoordinatorLayout mide/implementa vistas cuando la visibilidad está configurada en
GONE - No se pudo ajustar el tono de
AnimatedVectorDrawableCompaten el nivel de API. menos de 24 - La biblioteca Leanback activa errores falsos de lint.
- La biblioteca de paletas provocó pruebas fallidas en todos los niveles de API
RecyclerViewpruebas fallidas en LeanbackRecyclerViewfalla cuando se recicla contenedores de vistas (problema 225762 de AOSP)Fragment.onDestroy()no se llamó al fragmento en la pila de actividades- La lámina de
CollapsingToolbarLayoutes no se dibuja cuando se contrae CoordinatorLayout.offsetChildByInset()tirosIllegalArgumentException- Se está animando la desvinculación de
RecyclerViewde elementosRecyclerViewinternos, prevenir el futuro cargas previas - No se pueden adjuntar
RecyclerViewelementos carga previa anidada - Cargar datos previamente para
RecyclerViewanidados los elementos se descartan durante el primer diseño - La carga previa de
RecyclerViewfalla si dos arrastres eventos llegan en la misma posición RecyclerViewdebe, de manera especulativa, mientras se renderiza RenderThread- Los recursos de color de configuración nocturna convertidos en elementos de diseño no siempre son se borró definitivamente de la caché de recursos
FloatingActionButton: La configuración programática de BackgroundTintList no funciona correctamente (AOSP) error 227428)TextInputLayout: El tipo de letra no es se está configurando para ErrorView (problema 227803 de AOSP)TextInputLayoutsiempre recurre a un método alternativo para aclarar un color de error por debajo del nivel de API 23 (problema 221992 de AOSP)FloatingActionButtonse muestra como se presiona cuando el puntero sale
Una lista completa de correcciones de errores públicas se encuentra disponible en el Herramienta de seguimiento de errores del AOSP.
Bajas
En esta versión, varios métodos y clases dejaron de estar disponibles. Estos Las APIs obsoletas se quitarán en una versión futura y los desarrolladores deben migrar de ellos. Para obtener más información sobre cómo migrar específica, consulta su documentación.
-
android.support.design.widget -
android.support.v17.leanback.appBackgroundManager.getDefaultDimLayer()BackgroundManager.getDimLayer()BackgroundManager.setDimLayer()MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[])MediaControllerGlue.MediaControllerGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[])PlaybackControlGlue.PlaybackControlGlue(Context,PlaybackOverlayFragment,int[],int[])PlaybackControlGlue.getFragment()PlaybackControlGlue.getOnItemViewClickedListener()PlaybackControlGlue.onRowChanged()PlaybackControlGlue.pausePlayback()PlaybackControlGlue.skipToNext()PlaybackControlGlue.skipToPrevious()PlaybackControlGlue.startPlayback()PlaybackControlSupportGluePlaybackOverlayFragmentPlaybackOverlaySupportFragment
-
android.support.v17.leanback.widget -
android.support.v4.appFragmentActivity.getSupportMediaController()FragmentActivity.setSupportMediaController()
Revisión 25.0.1
(noviembre de 2016)
Errores corregidos
- El botón de activación de la contraseña de
TextInputLayoutahora está inhabilitado de forma predeterminada para evitar reemplazar innecesariamente de elementos de diseño finales especificados por el desarrollador. Puede habilitarse manualmente a través del Atributo XMLpasswordToggleEnabled. BottomNavigationViewelementos ahora están disponibles una sola línea para que coincida con la especificación de Material.RecyclerViewfalla durante la carga previa si el administrador de diseño es nulo.- La elevación de
BottomNavigationViewes que ahora están configurados correctamente. (Problema 226182 de AOSP) BottomNavigationViewfalla cuando agregar elementos de menú de forma programática. (Problema 225731 de AOSP)- Corregir en
TextInputLayouta la izquierda y derecha de elementos de diseño compuestos. (Problema 225836 de AOSP) RecyclerViewfalla cuando se recicla de objetos View. (Problema 225762 de AOSP)- Leanback: TalkBack dice con frecuencia la palabra "null". en vistas de pantalla dividida.
RecyclerView: problemas de renderización en Android Studio (Problema 225753 de AOSP)- Aún se muestra
BottomNavigationViewel elemento de menú seleccionado después deonNavigationItemSelected()muestra un valor falso. (Problema 225898 de AOSP) - ForwardingListener arroja
NoSuchMethodError. (AOSP (error 225647) - No se muestra
TextInputEditTexten el modo de extracción IME. (Problema 221880 de AOSP)
Una lista completa de correcciones de errores públicas se encuentra disponible en el Herramienta de seguimiento de errores del AOSP.
Revisión 25.0.0
(octubre de 2016)
Cambios importantes
- El constructor
ContextCompatque están protegidas. No se debe crear una instancia pública de esta clase, pero es posible ampliadas mediante bibliotecas de compatibilidad orientadas a niveles de API más recientes. - Se creó el constructor
ActivityCompatestán protegidos. No se debe crear una instancia pública de esta clase, pero es posible ampliadas con bibliotecas de compatibilidad orientadas a niveles de API más recientes. - Se realizó
getReferrer(Activity)estática. -
Se quitó
android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V). Cualquier implementación cliente de este método deben quitarse. -
Se quitó
android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object). Los usos deben reemplazarse con "more" al método con el nombre apropiadofromMediaSession() -
android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object)se ha eliminado. Los usos deben reemplazarse con método con nombreMediaSessionCompat.QueueItem#fromQueueItem -
Se quitó
android.support.v7.widget.Space. Usos debe reemplazarse porandroid.support.v4.widget.Space.
API nuevas
-
Clase
android.support.design.widget.BottomNavigationViewimplementa la parte inferior de navegación de la especificación de Material Design. - El nuevo paquete
android.support.v13.view.inputmethodincluye clases para acceder a las funcionesandroid.view.inputmethod.InputConnectionintroducidas después de la API nivel 13. -
Clase
android.v7.widget.RecyclerView.DividerItemDecorationproporciona una implementación básica para divisores horizontales o verticales entre elementos. - Nuevos estilos decorados en
android.support.v7.app.NotificationCompat,DecoratedCustomViewStyleyDecoratedMediaCustomViewStyle, se agregaron clases de duplicación y la API 24 de la plataforma.
Errores corregidos
Una lista completa de correcciones de errores públicas se encuentra disponible en el Herramienta de seguimiento de errores del AOSP.
Revisión 24.2.1
(septiembre de 2016)
Errores corregidos:
FloatingActionButtonya no puede anclar a elementos secundarios indirectos deCoordinatorLayout. (Problema 220250 de AOSP)- La imagen dentro de
CollapsingToolbarLayoutno se ajusta correctamente confitsSystemWindows=true. (Problema 220389 de AOSP) CoordinatorLayoutarrojaIndexOutOfBoundsExceptioncuando se muestra y se descartaSnackbar. (Problema de AOSP 220762).- No se puede resolver
TextInputLayouterror de texto. (Problema 220305 de AOSP) BatchedCallback.onMoved()llama aBatchedCallback.onInserted(). (Problema 220309 de AOSP)TextInputLayoutanula a la derecha elemento de diseño compuesto. (Problema 220728 de AOSP)
Una lista completa de correcciones de errores públicas se encuentra disponible en el Herramienta de seguimiento de errores del AOSP.
Revisión 24.2.0
agosto de 2016
La versión 24.2.0 incluye los siguientes cambios:
- División de la biblioteca de compatibilidad de la versión 4
- Actualizaciones de API
- Cambios en el comportamiento
- Elementos obsoletos
- Correcciones de errores
Nota: En la versión 24.2.0, se quita la compatibilidad con Android 2.2 (nivel de API 8) y versiones anteriores Las clases y los métodos que existen solo para Ahora, esas versiones del sistema están marcadas como obsoletas y ya no deberían que se usará. Estos métodos y clases obsoletos podrían quitarse en el futuro. lanzamiento.
División de la biblioteca de compatibilidad de la versión 4
En esta versión, la biblioteca de compatibilidad v4 incluye se dividió en varios módulos más pequeños:
-
support-compat -
Proporciona wrappers de compatibilidad para las nuevas APIs de framework, como
Context.getDrawable()yView.performAccessibilityAction() -
support-core-utils -
Proporciona una serie de clases de utilidad, como
AsyncTaskLoaderyPermissionChecker. -
support-core-ui -
Implementa una variedad de componentes relacionados con la IU, como
ViewPager,NestedScrollViewyExploreByTouchHelper. -
support-media-compat -
Ofrece portabilidad a versiones anteriores del framework de multimedia.
incluidos
MediaBrowseryMediaSession. -
support-fragment -
Portabilidad a versiones anteriores del fragmento
en un framework de aplicaciones. Este módulo tiene dependencias en
support-compat,support-core-utils,support-core-uiysupport-media-compat
Para tener retrocompatibilidad, si enumeras support-v4 en tu
de Gradle, tu APK incluirá todos estos módulos. Sin embargo, para reducir
del APK, te recomendamos que solo enumeres los módulos específicos que necesita tu app.
Actualizaciones de API
- Los clientes que usan pestañas personalizadas pueden
controlar si se deben abrir las Apps instantáneas. (Ten en cuenta que las Apps instantáneas aún no están
disponibilidad general). Para habilitar o inhabilitar las Apps instantáneas, llama a
CustomTabsIntent.Builder.setInstantAppsEnabled()o especificarEXTRA_ENABLE_INSTANT_APPSDe forma predeterminada, las pestañas personalizadas de forma predeterminada, cuando la función esté disponible, TextInputLayoutagrega compatibilidad con el botón de activación de visibilidad de contraseña de la especificación de Material Design.- El nuevo
android.support.transitionportabilidad a versiones anteriores del paquete del framework de transiciones a los niveles de API 14 y versiones posteriores. Para obtener más información, consulta la referenciaandroid.support.transition. - La biblioteca de compatibilidad de Pestañas personalizadas
se agrega compatibilidad para usar
RemoteViewsen la API barra de herramientas. ElsetToolbarItem()existente quedó obsoleto. AppCompatResourcesagrega el elemento capacidad de cargar un<vector>(en el nivel de API 9 y versiones posteriores)<animated-vector>(en el nivel de API 11 y versiones posteriores) de un el ID de recurso a través del nuevo métodogetDrawable().CoordinatorLayoutahora admite definir las vistas en recuadro y especificar que otras vistas deben esquivar la inserción vistas. Esto permite que las apps repliquen patrones de comportamiento de manera similar a comoFloatingActionButtonse quita de la de unaSnackbar, pero para cualquier elementos secundarios de vistas arbitrarios. Para obtener más información, consulta elLayoutParams.insetEdgeyLayoutParams.dodgeInsetEdges.- La nueva clase
DiffUtilpuede calcular la diferencia entre dos colecciones y pueden enviar una lista de operaciones de actualización adecuadas que los consuma unRecyclerView.Adapter. -
Se agregó
RecyclerView.OnFlingListenerpara admitir funciones personalizadas en respuesta a lanzamientos. LaSnapHelperproporciona una implementación específica para ajustar vistas secundarias yLinearSnapHelperextiende esta implementación para proporcionar un ajuste alineado al centro y tiene un comportamiento similar al deViewPager. - La biblioteca de pestañas personalizadas ahora permite que los clientes soliciten el permiso
de tu navegador, en lugar de una IU con pestañas personalizadas, llamando a
CustomTabsIntent.setAlwaysUseBrowserUI()Este comportamiento es útil en casos en los que el navegador usa de forma predeterminada la IU con pestañas personalizadas, pero el usuario expresó una preferencia por la IU estándar del navegador.
Cambios en el comportamiento
- Si usas la funcionalidad de día/noche de la biblioteca appcompat, el sistema
ahora recrea automáticamente tu actividad cada vez que cambia el modo diurno/nocturno
(ya sea debido a la hora del día o a una llamada a
AppCompatDelegate.setLocalNightMode()). Snackbarahora empata detrás del la barra de navegación si la barra de estado es translúcida.
Biblioteca MediaRouter
Los dispositivos Bluetooth ya no aparecen como rutas de medios. Enrutando el audio a Ahora los dispositivos Bluetooth se controlan únicamente en el nivel del sistema Android.
Bajas
Las clases y los métodos obsoletos están sujetos a eliminación en una versión futura. Debes dejar de usar estas API lo antes posible.
- Varios métodos de las siguientes clases solo se requerían para el nivel de API 8 y
será menor y ya no debería usarse. En su lugar, usa el framework
de Google Cloud.
android.support.v4.view.KeyEventCompat: Reemplaza conKeyEvent.android.support.v4.view.MotionEventCompat: UsaMotionEvent.android.support.v4.view.ViewCompat: UsaView.android.support.v4.view.ViewConfigurationCompat: UsaViewConfiguration.
-
AccessibilityServiceInfoCompat.getDescription()dejó de estar disponible y se reemplazó porAccessibilityServiceInfoCompat.loadDescription(), que devuelve una descripción localizada correctamente. - No debes crear una instancia de la clase
ActivityCompat. directamente. El métodogetReferrer(Activity)no estático será se volvió estática en una próxima versión. CoordinatorLayout.Behavior.isDirty()dejó de estar disponible y ya no está disponible que llamaCoordinatorLayout. Cualquiera de código abierto, así como cualquier llamada a este método.MediaSessionCompat.obtain()dejó de estar disponible y se reemplazó con el método con un nombre más apropiadofromMediaSession()MediaSessionCompat.QueueItem.obtain()dejó de estar disponible y se reemplazó por el método con un nombre más apropiadofromQueueItem()- Varias clases abstractas dejaron de estar disponibles y se reemplazaron por
interfaces de usuario que reflejen mejor sus equivalentes del framework.
AccessibilityStateChangeListenerCompatse reemplazó porAccessibilityManagerCompat.AccessibilityStateChangeListenerinterfaz de usuario.OnCloseListenerCompattiene se reemplazó por la interfazSearchViewCompat.OnCloseListener.OnQueryTextListenerCompatse reemplazó porSearchViewCompat.OnQueryTextListenerinterfaz de usuario.
CustomTabsSession.setToolbarItem()dejó de estar disponible y se reemplazó por el Basado en RemoteViewssetSecondaryToolbarViews()
Correcciones de errores
En la versión 24.2.0, se corrigieron los siguientes problemas conocidos:
- Asegúrate de que se muestre el indicador
SwipeRefreshLayoutcuando Se llama asetRefreshing(true)antes del primer pase de medición. (AOSP problema 77712) - Evita que
TabLayoutparpadee cuando cambies de página (AOSP error 180454). - Evita
ClassNotFoundExceptionpara la desalineación.SavedStateen el nivel de API 11 y versiones anteriores (problema de AOSP 196,430)
Una lista completa de correcciones de errores públicas se encuentra disponible en el Herramienta de seguimiento de errores del AOSP.
Revisión 24.1.1
julio de 2016
Errores corregidos:
- Corrige un problema en la versión 24.1.0 que afectaba los IDs de recursos. que se comparten entre las bibliotecas de compatibilidad. Este problema causaba que las apps que dependían de bibliotecas de compatibilidad con recursos (como design y appcompat) para encontrar problemas causados por discrepancias en el ID de recursos.
Revisión 24.1.0
Julio de 2016
- Cambios para la asistencia de la versión 4 Biblioteca:
-
NotificationCompat.Action.WearableExtendertiene nuevosgetHintDisplayActionInline()ysetHintDisplayActionInline()para la compatibilidad con Versión preliminar de Android Wear 2.0. Estos métodos permiten que una aplicación especifique que se debe se muestra alineado con la notificación.- Llamar a
Fragment.setUserVisbileHint()ya no hará que un fragmento se convierta started si la sugerencia se agregó a unFragmentTransactionque aún no se confirmó. Esta afecta a los usuarios deFragmentPagerAdapterque anularsetUserVisbileHint()y suponer un estado de ciclo de vida específico del fragmento después de llamar asuper.setUserVisibleHint(). Para obtener más información, consulta la página de referencia de los documentos deFragment.setUserVisbileHint().
Errores corregidos:
- TabLayout.setCustomView(null) genera NullPointerException. (AOSP error 214753).
- TabLayout destaca de manera incorrecta las pestañas personalizadas (problema 214316 de AOSP)
- AppCompatTextHelper usa un array de atributos ordenado de manera incorrecta (problema 214366 de AOSP)
- No se puede hacer referencia a VectorDrawable desde el XML del contenedor de elementos de diseño cuando se usa. ContextWrapper personalizado (problema 214055 de AOSP)
- ViewDragHelper.saveLastMotion() genera ArrayIndexOutOfBoundsException. (AOSP error 212945).
- BottomSheetBehavior se expande a la altura del contenido anterior cuando se usa setState(STATE_EXPANDED) (problema de AOSP 213660).
- CollapsingToolbarLayout no controla los elementos secundarios que se pueden fijar con los elementos márgenes inferiores (problema de AOSP 213,001)
- El título de navegación de Leanback no es compatible con la alineación RTL (problema de AOSP). 213461).
- PagerTabStrip desaparece debido a la anotación heredada faltante (problema de AOSP) 213359).
- La vinculación de datos arroja una excepción NullPointerException cuando se usa un booleano para establecer marcas condicionales (problema de AOSP 191841).
- CoordinatorLayout no responde a setFitsSystemWindows() (problema de AOSP). 212720).
- BottomSheetBehavior falla cuando se configura el estado inicial (problema de AOSP). 203114).
- ViewPager omite páginas si el índice de la página es un valor grande. (problema de AOSP 211734).
- BottomSheetBehavior no funciona con diseños dinámicos (problema de AOSP). 205226).
Revisión 24.0.0
junio de 2016
- Cambios para la asistencia de la versión 4 Biblioteca:
-
- Se agregó el
Fragment.commitNow()para la confirmación síncrona - Se agregó el
NotificationCompat.MessagingStylepara las conversaciones con varias partes - Se agregó el
NotificationManagerCompat.areNotificationsEnabled()ygetImportance(). MediaSessionCompatahora refleja la funcionalidad deMediaSessiony ya no llama asetMediaButtonReceiver()automáticamente.
Nota: Solo se admite
MediaBrowserServiceCompaten la versión 24.0.0 compatible con versiones futuras de Android más allá de la API 24. Si usas versiones anteriores, actualiza a esta versión para para garantizar la compatibilidad. - Se agregó el
- Cambios para la v7 appcompat:
-
- Se agregó compatibilidad con objetos
ColorStateListtemáticos de XML
- Se agregó compatibilidad con objetos
- Cambios para la compatibilidad de diseño Biblioteca:
-
- Mejoras en
AppBarLayoutmanejo de la elevación medianteStateListAnimator
- Mejoras en
- Cambios en la biblioteca Leanback de la versión 17:
-
- Se agregó
OnboardingFragmentpara proporcionar la bienvenida de primera ejecución y flujo de configuración
- Se agregó
- Cambios para las pestañas personalizadas:
-
- Se agregó compatibilidad para proporcionar un
RemoteViews. jerarquía de la barra de herramientas secundaria - Se agregó el
CustomTabsClient.connectAndInitialize()para una preparación de una línea
- Se agregó compatibilidad para proporcionar un
Revisión 23.4.0
Mayo de 2016
- Cambios para la asistencia de la versión 4 Biblioteca:
-
- Se solucionó el problema por el cual se agregaban fragmentos en el orden incorrecto (Problema 206901).
- Se solucionó el problema por el que la barra de la app no se dibujaba después de que el usuario la desplazaba fuera de la pantalla. (Problema 178037).
- Cambios para la v7 appcompat:
-
- Agregado
AppCompatDelegate.setCompatVectorFromResourcesEnabled()método para volver a habilitar el uso de elementos de diseño vectoriales en objetosDrawableContaineren dispositivos con Android 4.4 (nivel de API 19) y versiones anteriores. Consulta AppCompat v23.2: la era de los vectores para obtener más información. - Se corrigió un problema en el nivel de API 23 con .
AppCompatDelegate.setDefaultNightMode()no cargando los recursos correctos en el nivel de API 23. (Problema 206573). - Se corrigió el error que podía provocar
NullPointerException. (Problema 207638).
- Agregado
- Cambios para la compatibilidad de diseño Biblioteca:
-
- Se solucionó un problema por el que
TextInputLayoutno borraba el error. ajuste de tono después desetErrorEnabled(false)en el nivel de API 21 a 22 (problema 202829). - Se solucionó un problema por el que no se mostraba
FloatingActionButton. cuando se inhabilitan las animaciones. (Problema 206416). - Se solucionó un problema en
AppBarLayout. ajustar la funcionalidad cuando se usa con las marcas de desplazamiento. (Problema 207398).scroll|enterAlways|enterAlwaysCollapsed|snap
- Se solucionó un problema por el que
- Cambios de la biblioteca de elementos de diseño de vectores:
-
- Se corrigió un error por el que
VectorDrawableCompathace no se muestran correctamente enTextViewen el nivel de API 23. (Problema 206227).
- Se corrigió un error por el que
Revisión 23.3.0
Abril 2016
- Cambios para la asistencia de la versión 4 Biblioteca:
-
- Se agregó
AppLaunchCheckerpara ayudar a hacer un seguimiento de cómo tu app si el usuario la inició en el pasado.hasStartedFromLauncher()te permite saber si el usuario tiene ejecutaste tu app desde la pantalla de inicio antes o si solo se haya iniciado por otros medios (por ejemplo, para ver contenido URLs). - Se corrigió una fuga de memoria en
MediaBrowserServiceCompat.mConnections(Problema 205220). - Se solucionó el problema por el que
ViewPager. no considera los márgenes de las páginas al cambiar de página. (Problema 203816). - Se entregó
Fragment.onRequestPermissionsResult()al niño o fragmentos.
- Se agregó
- Cambios para la v7 appcompat:
-
- Se solucionó un problema en
AppCompatSpinnerque podía provocar para que aparezcan varias ventanas emergentes. (Problema 205052). - Se corrigió un error en el color de los botones sin borde. (Problema 202967).
- Se solucionó un problema de compatibilidad entre
AppCompatDialogFragmentyAlertDialog. (Problema 204805). - Se revirtieron los cambios a
TintResourcesque estaban causando de memoria y de configuración. (Problema 205236).
- Se solucionó un problema en
- Cambios para la v7 biblioteca de mediarouter:
-
- Se corrigió
MediaRouteControllerDialog. comportamiento del control deslizante del volumen. (Problema 202299).
- Se corrigió
- Cambios para la preferencia de la versión 7 biblioteca:
-
- Se solucionó un problema por el que
PreferenceFragmentCompatfallaba. si se especificadividerHeight. (Problema 204778).
- Se solucionó un problema por el que
- Cambios para la v7 Biblioteca de recyclerview:
-
- Se corrigió un error por el que
RecyclerViewno invocaba el desplazamiento. las devoluciones de llamada si se redujo el rango de elementos visibles. (Problema 200987). - Se corrigió un error por el que
RecyclerViewse bloqueaba si estuviera en lineal, se ponderó y contenía imágenes. (Problema 203276). - Se corrigió una falla en
OrientationHelper.getStartAfterPadding(). (Problema 180521). - Se solucionó un fallo con el uso de
android:nestedScrollingEnabled(Problema 197932).
- Se corrigió un error por el que
- Cambios para la compatibilidad de diseño Biblioteca:
-
- Se corrigió un error por el que una hoja inferior oculta controlaba el tacto eventos. (Problema 203654).
- Se solucionó un problema de diseño con
BottomSheetBehaviorque se producía cuandofitsSystemWindowses verdadero. (Problema 203057). - Se solucionó un problema de accesibilidad con
Snackbar. (Problema 182145). - Se corrigió una falla en
Snackbar. deslizar. (Problema 203924). - Se corrigió un error en
AppBarLayoutconenterAlways(Problema 203661). - Se corrigió un error por el que
TextInputLayoutse borraba innecesariamente. Filtro de color de fondo del objetoEditText. (Problema 203357).
Revisión 23.2.1
marzo 2016
- Cambios para la asistencia de la versión 4 Biblioteca:
-
- Se corrigió una excepción en
DrawableCompat.wrap()yLayerDrawableen Niveles de API 17 a 19. (Problema 201817) - Se corrigió un
ArrayIndexOutOfBoundsExceptionenViewDragHelper.shouldInterceptTouchEvent()(Problema 182262). - Se corrigió un error en
ViewPagerrelacionado con el cálculo de desplazamiento para los cambios de tamaño. - Se corrigió un
NullPointerExceptionque ocurría cuando se llamaba aDrawerLayout.removeDrawerListener()sin un conjuntoDrawerLayout.DrawerListener. (Problema 202478) - Se corrigió un error por el que no se configuraba
ViewPager. ParámetrosAccessibilityEventcorrectamente cuando te desplazas. - Se solucionó un problema que causaba un retraso durante la rotación del dispositivo cuando se usaba
Drawable.wrap()(Problema 201924)
- Se corrigió una excepción en
- Cambios para la v7 appcompat:
-
- Se revirtió la dependencia de los recursos vectoriales para que los desarrolladores que usan el
appcompat
de compilación no se ven obligadas a usar
VectorDrawableni las marcas de compilación asociadas. - Se corrigió un problema de compatibilidad con el Modo nocturno y la API nivel 23. (Problema 2019 10).
- Se solucionó un problema de compatibilidad con
SwitchCompaty la API nivel 7. (Problema 201942) - Se solucionó un problema con la propagación de valores de configuración en objetos Recursos Error 201928
- Se corrigió un problema de compatibilidad en el que
android.support.v7.app.NotificationCompat.MediaStyleEl botón Cancelar se vuelve invisible a nivel de la API. 21 o menos. (Problema 202156) - Se corrigió una falla de compatibilidad con
AppCompatSpinneren la API nivel 21 o versiones anteriores. (Problema 202246) - Se solucionó un problema por el que no era posible el estilo
app:textAllCaps = "false". el trabajo. (Problema 202117) - Se corrigió una falla durante el restablecimiento de
SearchView. (Problema 201836). - Se corrigió una fuga de memoria que se producía cuando se ajustaba el tono de los recursos de elementos de diseño usando AppCompat. (Problema 202379)
- Se corrigió un problema con
KeyEventen el nivel de API 11 y menor. (Problema 202939)
- Se revirtió la dependencia de los recursos vectoriales para que los desarrolladores que usan el
appcompat
de compilación no se ven obligadas a usar
- Cambios para la versión 7 de cardview biblioteca:
-
- Se agregó compatibilidad con el Modo nocturno para
CardView. (Problema 194497).
- Se agregó compatibilidad con el Modo nocturno para
- Cambios para la v7 Biblioteca de recyclerview:
-
- Se corrigieron errores relacionados con varios métodos de measure-spec. (Problema 201856).
- Se redujo el período de bloqueo en el que
RecyclerViewno admite un adaptador. cambia mientras se calcula un diseño o un desplazamiento. (Problema 202046). - Se solucionó una falla cuando se llamaba a
notifyItemChanged()en un elemento que estaba desactivado. (Problema 202136). - Se corrigió una falla que se producía cuando
RecyclerView.LayoutManageragregaba y quitaba una vista en la misma pase de medición. (Problema 193958).
- Cambios para la v7 biblioteca de mediarouter:
-
- Se solucionó una falla que se producía cuando se llamaba a
MediaRouter.getInstance()en la API nivel 17. (Problema 180654).
- Se solucionó una falla que se producía cuando se llamaba a
- Cambios para la versión 17 Biblioteca Leanback:
-
- Se solucionó un problema con
GridLayout.onAddFocusables()que hizo que se seleccionara el elemento incorrecto. - Se solucionó un problema con las acciones de
GuidedStepFragment. desaparece cuando se contrae una acción.
- Se solucionó un problema con
- Cambios para la compatibilidad de diseño Biblioteca:
-
- Se corrigió una falla de
TabLayout. causado por la agrupación de pestañas. (Problema 201827). - Se corrigió un error en
NavigationViewque causaba el error color que se seleccionará. (Problema 201951). - Se corrigió un error por el que
setBackgroundTintList()ya no podía cambiar el fondo. color. (Problema 201873). - Se solucionó un problema por el que
AppBarLayoutno se desplazaba por completo. fuera de la vista cuando se usa conandroid:fitsSystemWindows = “true”. (Problema 2018-22). - Se solucionó un problema por el que no se mostraba
BottomSheetDialog. vistas de contenido corto correctamente. (Problema 201793). - Se solucionó un problema por el que se movía
BottomSheetDialogFragment. esporádicamente cuando se cambiaba el contenido de su interior. (Problema 202125). - Se corrigió una falla en el vínculo del contador TextInputLayout.
- Se corrigió una falla que ocurría cuando
TextInputLayout.getCounterMaxLength()restablecía un estado guardado. (Problema 202375). - Se corrigió un
ClassCastExceptionque se producía cuando se restablecía unCoordinatorLayoutcon el guardado de una vista que no eraCoordinatorLayout.
- Se corrigió una falla de
- Cambios para VectorDrawableCompat:
-
- Se corrigió un error en el que se leía la variable incorrecta para
android:tintMode. (Problema 201907).
- Se corrigió un error en el que se leía la variable incorrecta para
Revisión 23.2.0
Febrero 2016
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó
MediaBrowserCompatpara compatibilidad conMediaBrowseryMediaBrowserServiceCompatpara compatibilidad conMediaBrowserService. Esta información es útil cuando se conecta un servicio en segundo plano de una app multimedia con componentes de IU y la integración con Android Auto y Android Wear sin requerir Nivel de API 21 o versiones posteriores - El sistema ahora llama a
onActivityResult()para obtener unFragmentActivityanidada.
- Se agregó
- Cambios para AppCompat de la versión 7 biblioteca:
-
- Se agregó la funcionalidad del Modo nocturno a la API nivel 14 y versiones posteriores. Interruptor entre Material Temas claros y de material oscuro según la hora del día la configuración específica de la app.
-
- Los temas diurnos y nocturnos se pueden encontrar aquí:
<sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml AppCompatDelegate.setDefaultNightMode(): Establece la modo predeterminado de la app pasando una de las siguientes constantes:-
MODE_NIGHT_AUTOMODE_NIGHT_NOMODE_NIGHT_YESMODE_NIGHT_FOLLOW_SYSTEM
AppCompatDelegate.setLocalNightMode(): Anulaciones la configuración del modo nocturno para el componente local de la app.AppCompatDelegate.getDefaultNightMode(): Devuelve el modo nocturno predeterminado.
- Los temas diurnos y nocturnos se pueden encontrar aquí:
- Cambios para mediarouter v7 biblioteca:
-
MediaRouteControllerDialogahora aplica correctamente los colores del tema de la app personalizados.
- Cambios para la biblioteca de compatibilidad de diseño:
-
- Se agregó compatibilidad con la parte inferior
Hojas de cálculo. Un complemento de interacción,
BottomSheetBehavior, permite que una vista secundaria de unCoordinatorLayoutactúe como una hoja inferior. La clase base,BottomSheetCallback, proporciona devoluciones de llamada para supervisar eventos de hojas inferiores.
- Se agregó compatibilidad con la parte inferior
Hojas de cálculo. Un complemento de interacción,
- Cambios para la compatibilidad con CustomTabs biblioteca:
-
- Chrome Las pestañas personalizadas ahora permiten que las apps incluyan una barra inferior con acciones. además del botón de acción superior existente.
CustomTabsIntent.Builder.addToolBarItem(): agrega una acción. en una pestaña personalizada. Puedes usar esta opción para agregar varios botones.CustomTabsSession.setToolBarItem(): Actualiza los elementos visuales. para los elementos de la barra de herramientas. Este método solo tendrá éxito si se le da un un ID válido y la sesión del navegador está en primer plano.
- Se agregó una biblioteca de compatibilidad de VectorDrawable:
-
- Clases agregadas:
-
VectorDrawableCompatAnimatedVectorDrawableCompat
- Se agregó compatibilidad con elementos
VectorDrawablea las apps que se ejecutan en el nivel de API 7 o superior.AnimatedVectorDrawablerecursos también son compatibles con el nivel de API 11 o versiones posteriores. Los recursos vectoriales es mucho más pequeño que los recursos de imagen y debería ayudar a reducir reduciendo la cantidad de recursos necesarios para admitir varios pantallas de los dispositivos. - Ahora, esta biblioteca es una dependencia de la biblioteca AppCompat de la versión 7, lo que permite
para desarrolladores y AppCompat
para usar fácilmente elementos de diseño vectoriales. Para usar
VectorDrawableCompaten unaImageButtonoImageView, usa el XMLapp:srcCompatatributo osetImageResource(). - Para seguir haciendo referencia a los IDs de atributos en el nivel de API 20, o
inferior, agrega la siguiente marca
appta tu archivobuild,gradle: -
- Si estás compilando con el complemento de Android para Gradle 1.5.0 o
inferior, agrega lo siguiente a tu archivo
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" } }
- Si estás compilando con el complemento de Android para Gradle 2.0.0 o
en una versión superior, agrega lo siguiente a tu archivo
build.gradle: -
android { defaultConfig { vectorDrawables.useSupportLibrary = true } }
- Si estás compilando con el complemento de Android para Gradle 1.5.0 o
inferior, agrega lo siguiente a tu archivo
- Cambios para Leanback v17 Biblioteca:
-
- Se agregaron nuevas capacidades a
GuidedStepFragment, que es un componente que guía a los usuarios a través de una decisión o una serie de decisiones: -
- Se agregaron acciones de botones a
GuidedAction: GuidedStepFragment.setButtonActions(): establece una lista deGuidedActionbotones que que el usuario puede seleccionar en la vista Actions.- Los campos de descripción ahora son editables:
-
GuidedAction.Builder.descriptionEditable(): cuando se pasatrue, establece que la descripción de la acción sea editable.GuidedAction.getEditDescription(): Muestra el elemento descripción comoCharSequence.
- Se agregaron listas desplegables de subacciones:
-
GuidedAction.setSubActions(): Establece una lista deGuidedActioncomo menú desplegable. de subacciones.
- Se agregaron acciones de botones a
- Se agregó el widget
GuidedDatePickerActionpara la funcionalidadDatePicker: -
- La fecha se selecciona mediante columnas de año, mes y día, y tiene una variedad personalizable.
GuidedDatePickerAction.Builder: Es la clase compiladora para el objetoGuidedDatePickerAction.GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): establece el formato de fecha deseado pasando el valor apropiadoStringde tres caracteres, p.ej.,“YMD”o“MDY”. También puedes usar el atributo XMLdatePickerFormat.
- Se agregaron nuevas capacidades a
- Cambios para la versión 7 de RecyclerView biblioteca:
-
RecyclerViewahora puede aceptar llamada AutoMeasure que permite queRecyclerView.LayoutManageruna fácilmente contenido o manejar varias especificaciones de medición proporcionadas por la superior deRecyclerView. Integra es compatible con todas las capacidades de animación existentes deRecyclerView.-
- Si tienes un
RecyclerView.LayoutManagerpersonalizado, llama asetAutoMeasureEnabled(true)para comenzar a usar el nuevo API de AutoMeasure. Todos los objetosRecyclerView.LayoutManagerintegrados habilitar la medición automática de forma predeterminada. RecyclerView.LayoutManagerya no ignora algunos parámetros de configuración deRecyclerView.LayoutParams, comoMATCH_PARENT, en la dirección de desplazamiento.Nota: Estas restricciones que se eliminaron podrían provocar un comportamiento inesperado en tus diseños. Asegúrate de especificar los parámetros de diseño correctos.
- Si tienes un
- Cuando actualizas un
RecyclerView.ViewHoldercon carga útil información,DefaultItemAnimatorahora inhabilita las animaciones de cambio. - Ahora puedes modificar la velocidad de escape de
ItemTouchHelperpara controlar la sensibilidad de deslizamiento. Para que sea más fácil o difícil deslizar el dedo, anulargetSwipeEscapeVelocity(float defaultValue)y modificardefaultValue
Revisión 23.1.1
noviembre de 2015
- Cambios en la biblioteca de recyclerview de la versión 7:
-
- Se solucionó un bloqueo que se producía al realizar una acción de deslizar para descartar que
La clase de utilidad
ItemTouchHelperproporciona y, luego, agrega un elemento. (Problema 190500)
- Se solucionó un bloqueo que se producía al realizar una acción de deslizar para descartar que
La clase de utilidad
- Cambios para la biblioteca de preferencias de la versión 7:
-
- Se solucionó un problema con el uso de ProGuard. (Problema 183261)
- Cambios en la biblioteca de compatibilidad de Leanback de la versión 17:
-
- Se corrigió una serie de problemas internos en esta biblioteca.
- Cambios para la biblioteca de compatibilidad de diseño:
-
- Se agregó el método
getHeaderViewa la claseNavigationView. - Se corrigió un problema de fondo transparente para un objeto
FloatingActionButtonen dispositivos con Android 4.0 (nivel de API 15) y versiones anteriores. (Problema 183315)
- Se agregó el método
Revisión 23.1.0
octubre de 2015
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó compatibilidad con la interfaz
OnScrollChangedListenera la WidgetNestedScrollView. Integra te permite recibir devoluciones de llamada cuando cambian las posiciones de desplazamiento de X o Y. - Se agregó una clase
MediaButtonReceiverpara reenviar los controles de reproducción recibidos. a un servicio que administra la claseMediaSessionCompat. El La claseMediaSessionCompattiene un que puede encontrar automáticamente un receptor de botones multimedia en el manifiesto. R El receptor de botones multimedia es un componente clave para controlar controles de reproducción de hardware o controles de Bluetooth.
- Se agregó compatibilidad con la interfaz
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se agregaron widgets
SeekbaryImageButtonde Material Design. - Se actualizó el widget
ImageViewpara admitir la función de ajuste de tono. - Se actualizó el aspecto del widget
SwitchCompat.
- Se agregaron widgets
- Cambios en la biblioteca de mediarouter de la versión 7:
-
- Se agregaron las siguientes características a la clase
MediaRouteChooserDialog: - Muestra una página de carga mientras se descubren proveedores de rutas de medios.
- Incluye un ícono de tipo de dispositivo para facilitar la identificación del dispositivo.
- Ordena las rutas según la frecuencia de uso en la app actual.
- Admite el modo de paisaje.
- Se agregaron las siguientes características a la clase
MediaRouteControllerDialog: - Reconoce la transmisión de pantalla y proporciona una descripción adecuada.
- Admite distintos tamaños y proporciones de imágenes de álbum, y las carga de manera asíncrona.
- Selecciona automáticamente el color del contenido en función del color principal de la app.
- Ajusta el diseño del cuadro de diálogo en función del espacio disponible en la pantalla del dispositivo.
- Admite el modo de paisaje.
- Se agregaron las siguientes características a la clase
- Cambios en la biblioteca de paletas de la versión 7:
-
- Se agregó el método
setRegion()para admitir la extracción de color de un elemento región de un objetoBitmap.
- Se agregó el método
- Cambios en la biblioteca de recyclerview de la versión 7:
-
- Se agregó una API de Animation mejorada a la clase
ItemAnimatorpara mejorar la personalizaciones: - Las animaciones de cambio ya no aplican dos copias del objeto
ViewHolderque habilita animaciones de contenido de elementos. Además, el objetoItemAnimatordecide si quiere reutilizar el mismo objetoViewHoldero crear un uno nuevo. - La nueva API de registro de información le brinda a la clase
ItemAnimatorla flexibilidad. para recopilar datos en el punto correcto del ciclo de vida de diseño. Esta información aparece más adelante. se pasan a las devoluciones de llamada de animación.
- Se proporcionó un plan de transición sencillo para este cambio de API incompatible con versiones anteriores:
- Si ya extendiste la clase
ItemAnimator, puedes cambiar tu clase base aSimpleItemAnimator, y tu código debería funcionar como antes. La claseSimpleItemAnimatorproporciona la API anterior mediante la agrupación de la API nueva. - Se quitaron algunos métodos de la clase
ItemAnimator. Lo siguiente dejará de compilarse el siguiente código:
Kotlin
recyclerView.itemAnimator.supportsChangeAnimations = false
Java
recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
Puedes reemplazarlo con lo siguiente:
Kotlin
val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator animator?.supportsChangeAnimations = false
Java
ItemAnimator animator = recyclerView.getItemAnimator(); if (animator instanceof SimpleItemAnimator) { ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false); }
- Se agregó una API de Animation mejorada a la clase
- Cambios para la versión 7, v14 y Biblioteca de compatibilidad de preferencias v17:
-
- Se quitaron las API para controlar los cuadros de diálogo de
EditText.
- Se quitaron las API para controlar los cuadros de diálogo de
- Cambios en la biblioteca de compatibilidad de Leanback de la versión 17:
-
- Se agregó una versión de la clase
GuidedStepFragmentpara la biblioteca de compatibilidad. (se extiendeandroid.support.v4.app.Fragment) y mejoras en las animaciones y las transiciones. - Se actualizó la clase
GuidedStepFragmentpara que se pueda colocar encima de contenido existente. - Se agregó la capacidad de anotar diferentes tipos de finalizaciones de búsquedas en el
Clase
SearchFragment. - Se agregó compatibilidad con la transición escalonada de deslizamiento a
VerticalGridFragment. .
- Se agregó una versión de la clase
- Cambios para la biblioteca de compatibilidad de diseño:
-
- Se agregó
compatibilidad con el recuento de caracteres al widget
TextInputLayout - Se agregó compatibilidad con el ajuste de bordes a la clase
AppBarLayoutagregando el elementoSCROLL_FLAG_SNAPconstante. Cuando finaliza el desplazamiento, si la vista solo parcialmente visible, la vista se ajusta y se desplaza hasta su borde más cercano. - Se agregó compatibilidad con vistas personalizadas a la clase
NavigationViewmediante el elemento Atributoapp:actionLayoutoMenuItemCompat.setActionView().
- Se agregó
compatibilidad con el recuento de caracteres al widget
- Cambios para la biblioteca de compatibilidad de pestañas personalizadas:
-
- Se agregó el método
enableUrlBarHiding()aCustomTabsIntent. . Permite al cliente personalizar si la barra de URL debe ocultarse automáticamente cuando te desplazas hacia abajo. - Se agregó el método
setActionButton()aCustomTabsSession. . Le permite al cliente cambiar el ícono por un botón de acción personalizado en una pestaña personalizada ya iniciada. - Se agregaron las constantes
TAB_SHOWNyTAB_HIDDENcomo eventos nuevos para el métodoonNavigationEventdeCustomTabsCallback.
- Se agregó el método
Revisión 23.0.1
septiembre de 2015
- Cambios para la versión 7 y Biblioteca de compatibilidad de preferencias v14:
-
- Se agregaron los archivos de estilo y el diseño de Material Design. (Problema 183376)
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se corrigieron problemas de fallas de la clase
Fragmentlimitando el uso de de hardware hasta Android 4.1 (nivel de API 16) y versiones posteriores. (Problema 183896) - Se solucionó un problema por el que los botones de hardware no funcionaban cuando una actividad había establecido la
Toolbarpara que actúe comoActionBarcon el métodosetSupportActionBar()(Problema 183334) - Se actualizó la clase
AppCompatDialogFragmentpara que ya no lanza elWindows feature must be requested before adding content. (Problema 183186)
- Se corrigieron problemas de fallas de la clase
- Cambios para la biblioteca de compatibilidad de diseño:
-
- Corregimos el
AppBarLayoutpara que se dibuje correctamente después y la rotación de claves. (Problema 183109) - Corregimos el
TabLayoutpara que ahora se comporte correctamente cuando se el usuario hace clic después de deslizar el dedo. (Problema 183123)
- Corregimos el
- Cambios para la biblioteca de compatibilidad de pestañas personalizadas:
-
- Se bajó el
minSdkVersionde 16 a 15 para compatibilidad con la versión. - Se agregó una forma de generar un
CustomTabsSessionTokena partir de un intent.
- Se bajó el
Revisión 23
agosto de 2015
- Se agregaron nuevas bibliotecas de compatibilidad:
-
- Biblioteca de compatibilidad de pestañas personalizadas
- Biblioteca de compatibilidad porcentual
- Biblioteca de compatibilidad con recomendaciones de apps para TV
- Biblioteca de compatibilidad de preferencias de la versión 7
- Biblioteca de compatibilidad de preferencias de la versión 14
- Biblioteca de compatibilidad de preferencias de la versión 17 para TV
Para obtener una lista completa de los cambios de la biblioteca de compatibilidad, consulta la Asistencia Informe de diferencias de las APIs de Biblioteca.
Revisión 22.2.1
julio de 2015
- Cambios para la biblioteca de compatibilidad de diseño:
-
- Se agregaron los métodos
hide()yshow()al archivo ClaseFloatingActionButtonpara transacciones programáticas activación de animaciones. - Se agregó la constante
LENGTH_INDEFINITEal ClaseSnackbarpara mostrar una barra de notificaciones hasta que se descarte o se muestre otra barra de notificaciones. Además, se agregó elsetActionTextColor(int)ysetActionTextColor(ColorStateList). - Se agregó el método
getSelectedTabPosition()al ClaseTabLayoutpara recuperar el valor pestaña seleccionada. - Se proporcionó una API completamente fluida para la
Clase
android.support.v7.app.NotificationCompat.MediaStylepara el método el encadenamiento. - Se agregaron métodos de conveniencia a la
RecyclerViewpara la inserción por lotes de elementos.
- Se agregaron los métodos
Para obtener una lista completa de los cambios de la biblioteca de compatibilidad, consulta la Asistencia Informe de diferencias de las APIs de Biblioteca.
Revisión 22.2.0
mayo de 2015
- Se agregó la biblioteca de compatibilidad de diseño:
-
- Se agregó
TextInputLayoutpara que se muestre Texto de error y sugerencia deEditTextcomo etiquetas flotantes. - Se agregó
FloatingActionButtonpara implementar un acción principal en tu interfaz como botón de acción flotante, que admite tamaños predeterminados o mini. - Se agregó
Snackbarpara proporcionar elementos ligeros. comentarios con una acción opcional en una barra de notificaciones animada. - Se agregó
TabLayoutpara implementar configuraciones fijas y desplazable pestañas así como integración conViewPager - Se agregó
NavigationViewpara implementar panel lateral de navegación su contenido, incluida la capacidad de ampliar los elementos del menú con una Recurso de menú. - Se agregó
CoordinatorLayout, un producto de uso general. de Terraform, que se usa para crear dependencias entre del mismo nivel y permitir reacciones de desplazamiento sencillas entre componentes medianteCoordinatorLayout.BehaviorMuchos de los pasos Los componentes de la biblioteca dependen de ser elementos secundarios de unCoordinatorLayout - Se agregó
AppBarLayout, un contenedor para unaToolbary otras vistas (comoTabLayout) para Reaccionar a los eventos de desplazamiento deslizando el dedo fuera de la pantalla, volviéndose visible en reacción hasta un desplazamiento hacia abajo o que se contraiga o se abra antes de desplazarse hacia afuera o adentro de la pantalla. - Se agregó
CollapsingToolbarLayoutpara controlar. cómo se contrae unToolbar. Una barra de herramientas se puede contraer de la siguiente manera: fijar componentes en la parte superior de la pantalla mientras se contrae, introduciendo desplazamiento con paralaje de componentes comoImageViewo agregar un color de lámina de contenido cuando la vista se contrae parcialmente.
- Se agregó
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó el
getContentChangeTypes()ysetContentChangeTypes()métodos y tipo de cambio relacionado campos alAccessibilityEventCompatpara el manejo de eventos de accesibilidad. - Se agregó el
getActiveQueueItemId(),getCustomActions(), ygetExtras()métodos con campos de estado relacionados con el ClasePlaybackStateCompatpara obtener acciones personalizadas de la cola. - Se agregó el
addCustomAction(),setActiveQueueItemId(), ysetExtras()métodos a la ClasePlaybackStateCompat.Builderpara agregar acciones personalizadas a un estado de reproducción. - Se agregó el
fromCustomAction()ygetCustomAction()métodos al ClasePlaybackStateCompat.CustomActionpara obtener acciones personalizadas de la cola. - Se agregó
isAttachedToWindow(),offsetLeftAndRight()yoffsetTopAndBottom()a la claseViewCompatpara trabajar con vistas. - Se agregó
addOnPageChangeListener(),clearOnPageChangeListeners()yremoveOnPageChangeListener()métodos a la claseViewPagerpara responder a la página cambios.Se dio de baja el
ViewPager.setOnPageChangeListener(). - Se agregó el
notifySubtreeAccessibilityStateChanged()para la claseViewParentCompatpara notificar a un elemento superior de vista que cambió el estado de accesibilidad de uno de sus elementos subordinados. - Se agregó
translationZ(),translationZBy(),z()yzBy()métodos a la claseViewPropertyAnimatorCompatpara agregando animación.
- Se agregó el
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se agregó el
onWindowStartingSupportActionMode()método deAppCompatActivity,AppCompatCallbacky ClasesAppCompatDialogpara controlar los modos de acción iniciar desde la ventana actual. - Se agregó el
isHandleNativeActionModesEnabled()ysetHandleNativeActionModesEnabled()métodos a la ClaseAppCompatDelegatepara controlar los modos de acción nativos
- Se agregó el
Para obtener una lista completa de los cambios de la biblioteca de compatibilidad, consulta la Asistencia Informe de diferencias de las APIs de Biblioteca.
Revisión 22.1.0
abril de 2015
- Cambios para la biblioteca de anotaciones:
-
- Se agregó la biblioteca de anotaciones para brindar compatibilidad con las inspecciones de código mejoradas. Las anotaciones se agregan como etiquetas de metadatos que adjuntas a las variables, los parámetros y mostrar valores para inspeccionar los valores que se devuelven de los métodos, los parámetros pasados y los valores variables y campos.
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó la clase
ColorUtilspara proporcionar un conjunto de métodos de utilidad relacionados con colores. - Se agregaron
unwrap()y métodoswrap()al ClaseDrawableCompat, lo que te permite usarsetTint(),setTintList(), ysetTintMode()en todos los dispositivos con nivel de API 4 o superior. - Se agregó la clase
TraceCompata escribir eventos de seguimiento en el búfer de registro del sistema, que luego pueden recopilarse y visualizados con la herramienta Systrace. - Se agregó la clase
CircularIntArraypara crear estructuras de datos de array de números enteros circulares. - Se agregó
clear(),removeFromStart(), yremoveFromEnd()métodos a la claseCircularArray. Además, se modificó el los métodos existentes en esta clase no sean definitivos. - Se agregó
InputDeviceCompatcomo clase auxiliar para acceder a los datos del ClaseInputDeviceCompat. - Se agregó
LayoutInflaterCompatcomo clase auxiliar para acceder a los datos del ClaseLayoutInflaterCompaty agregaste la interfazLayoutInflaterFactory. - Se agregaron clases, interfaces y métodos para admitir desplazamiento anidado.
- Se agregó
NestedScrollingChildHelperyNestedScrollingParentHelper. clases auxiliares para implementar vistas primarias y secundarias de desplazamiento anidadas. - Se agregó
NestedScrollingChildque implementarán las subclasesView. - Se agregó
NestedScrollingParentyScrollingViewpara admitir y proporcionan APIs relacionadas con el desplazamiento. - Se agregó el
getNestedScrollAxes()aViewGroupCompat. - Se agregaron métodos a la clase
ViewParentCompatpara admite desplazamiento anidado. - Se agregó
NestedScrollViewpara admitir el elemento superior y el secundario de desplazamiento anidado en las versiones nuevas y anteriores de Android
- Se agregó
- Se agregaron métodos y constantes a
MotionEventCompat. para obtener los valores de los ejes y la fuente del evento. - Se actualizó
AccessibilityNodeInfoCompatpara agregar métodos para errores, invalidación de contenido y etiquetas. - Se agregaron las siguientes clases de interpolación para la animación:
FastOutLinearInInterpolator,FastOutSlowInInterpolator,LinearOutSlowInInterpolator,LinearOutSlowInInterpolatoryPathInterpolatorCompat - Se agregó la clase
Spacepara crear espacios entre componentes en diseños de uso general. Esta clase ya no está disponible en la biblioteca de gridlayout. - Se agregó la clase
TextViewCompatpara acceder. en unTextView. - Se agregó un parámetro de desplazamiento al
onPull()en la ClaseEdgeEffectCompat.
- Se agregó la clase
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se agregó compatibilidad con tonos a los widgets de appcompat, lo que incluye
AppCompatAutoCompleteTextView,AppCompatButton,AppCompatCheckBox,AppCompatCheckedTextView,AppCompatEditText,AppCompatMultiAutoCompleteTextView,AppCompatRadioButton,AppCompatRatingBar,AppCompatSpinneryAppCompatTextView - Se actualizó
AppCompatActivitycomo base para actividades que usan las funciones de la barra de acciones de la biblioteca de compatibilidad. Esta clase reemplaza elActionBarActivityobsoleto. - Se agregó el
Interfaz de
AppCompatCallbackpara que AppCompat pueda realizar devoluciones de llamada. - Se agregó el
Clase abstracta
AppCompatDelegateComo delegado, puedes usar para ampliar la compatibilidad de AppCompat con cualquier actividad. - Se agregó el
Clase
AppCompatDialogcomo la clase base para los diálogos de AppCompat. - Se agregó el estilo de ícono giratorio
AlertDialogy ClasesAlertDialog.Builderpara proporcionar un elemento AppCompat con temaAlertDialog. - Se agregó la clase
Palette.Builderpara generarPaletteinstancias.- Se agregó el
from(Bitmap)a la clasePalettepara comenzar a generar una paleta con los atributos InstanciaPalette.Builder. - Se dieron de baja
Palette.generate()yPalette.generateAsync().
- Se agregó el
- Se agregó el
getAbsoluteAlignment()aGridLayout.Spec. - Se dio de baja el uso de
app:themepara diseñar estilosToolbarAhora puedes usarandroid:themepara barras de herramientas en todos los dispositivos con nivel de API 7 y versiones posteriores Compatibilidad conandroid:themepara todos los widgets en dispositivos con nivel de API 11 y versiones posteriores
- Se agregó compatibilidad con tonos a los widgets de appcompat, lo que incluye
- Cambios en la biblioteca Leanback de la versión 17:
-
- Se agregó
GuidedStepFragment,GuidanceStylistyGuidedActionsStylistal servicio de asistencia crear flujos de decisión de varios pasos.
- Se agregó
- Cambios en la biblioteca de recyclerview de la versión 7:
-
- Se agregaron clases
SortedListpara mostrar elementos en un orden de lista y notificar los cambios que se realicen en ella. - Se agregó la clase
SortedListAdapterCallbackque pueden vincular una lista ordenada a una ClaseRecyclerView.Adapter.
- Se agregaron clases
- Cambios en la biblioteca de renderscript de la versión 8:
-
- Se agregó la clase
ScriptIntrinsicHistogrampara usar como filtro de histograma. - Se agregó la clase
ScriptIntrinsicResizepara realizar un cambio de tamaño de una asignación 2D.
- Se agregó la clase
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se actualizó el método
getDrawable()para mostrar un objeto de elemento de diseño para un ID de recurso específico especificado. la densidad de la pantalla y el tema. - Se agregó el método
setImportantForAccessibility()para que puedas indicar si se debe activar una vista eventos de accesibilidad. - Se agregó el método
getStatusBarBackgroundDrawable()para que puedas obtener el fondo de la barra de estado elemento de diseño. - Se agregaron métodos al
NotificationCompat.CarExtender.UnreadConversationpara que las apps de mensajería de Android Auto puedan recuperar datos de notificaciones adicionales. - Se agregó el método
getProgressCircleDiameter()para mostrar el diámetro de un diseño circular. - Se cambió el
DrawerLayoutpredeterminado color de la barra de estado acolorPrimaryDark.
- Se actualizó el método
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se agregó el estilo de ícono giratorio
Base_Widget_AppCompat_Spinner_Underlined - Estilos de widgets en los que se aplicó color con
Widget_AppCompat_AutoCompleteTextView,MultiAutoCompleteTextView,TextAppearance_AppCompat_ButtonyBase_Widget_AppCompat_RatingBar
- Se agregó el estilo de ícono giratorio
- Cambios en la biblioteca Leanback de la versión 17:
-
- Se agregaron
getRecycledPoolSize()y MétodossetRecycledPoolSize()para permitir tamaños de grupos reciclados y personalizados. - Se agregó el atributo
WRAP_CONTENTal configuración de ancho de diseño para admitir contenido ajustado para íconos de título. - Se definió
R.transitionen XML para para mejorar las actualizaciones de la transición. - Compatibilidad habilitada para diseños de derecha a izquierda.
- Se agregó compatibilidad con los eventos clave de reproducción y pausa de contenido multimedia al
Clase
PlaybackOverlayFragment. - Se agregaron las transiciones de entrada y devolución al
Clase
BrowseFragmenty ClaseDetailsFragment. - Se agregó el método
replace()para reemplazar elementos en la matriz de adaptador de un objeto.
- Se agregaron
- Cambios en la biblioteca de mediarouter de la versión 7:
-
- Se actualizaron los íconos de Google Cast para usar las estilo de Material Design.
- Se actualizaron todos los íconos utilizados en los diálogos de
MediaRouterpara usar los estilo de Material Design.
- Cambios en la biblioteca de recyclerview de la versión 7:
-
- Se agregó
getlayoutPosition()ygetadapterPosition()aRecyclerView. - Se dieron de baja
classgetChildPosition()y métodosfindViewHolderForPosition()en la ClaseRecyclerView. - El método
getPosition()dejó de estar disponible en ClaseRecyclerView.ViewHolder. - El método
getViewPosition()dejó de estar disponible en ClaseRecyclerView.LayoutParams.
- Se agregó
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregaron varios
NotificationCompat.WearableExtenderpara mejorar la visualización de códigos de barras en las notificaciones de dispositivos wearable.
- Se agregaron varios
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó el
NotificationCompat.CarExtenderpara admitir las extensiones de Android Auto a las notificaciones.
- Se agregó el
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se agregó el constructor
PopupMenupara admitir las nuevas ventanas emergentes. menús. - Se agregó compatibilidad con una descripción del ícono de contraer en
Toolbar. . - Se actualizó el widget
SearchViewpara admitir la visualización.commitIcon - Se quitó el atributo
buttonGravityde ClaseToolbar.
- Se agregó el constructor
- Cambios para la biblioteca de cardview de la versión 7:
-
- Se agregó la API de
setCardBackgroundColor(ColorStateList)a Se admite el cambio del color de fondo deCardView. - Se cambió
CardViewpara informar con mayor precisión su de opacidad comoTRANSLUCENT.
- Se agregó la API de
- Cambios para la versión 7 de recyclerview biblioteca:
-
- Se agregaron
TOUCH_SLOP_DEFAULTy Constantes deTOUCH_SLOP_PAGINGa la claseRecyclerViewpara admitir configuraciones de margen táctil para paginación.
- Se agregaron
- Cambios en la biblioteca Leanback de la versión 17:
-
- Se agregó compatibilidad para generar fragmentos de código de la versión 4.
- Se cambió el color del texto secundario en
CardView.
- Agregado multidex para admitir varias Archivos Dalvik Executable (DEX) para admitir archivos multidex anteriores a Android 5.0.
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó compatibilidad con
Fragmentpara dispositivos con Android 5.0 (nivel de API 21). Ten en cuenta que las transiciones no tienen efecto en los dispositivos que se ejecutan Android 4.4 y versiones anteriores. - Se agregó
DocumentFilepara facilitar la transición deFilemientras trabajas con árboles de documentos. Sin embargo, esta clase exige más de sobrecarga de procesamiento en comparación con los recursos Se agregóDocumentsContractAPI en Android 4.4 (nivel de API 19) Por lo tanto, debes usarDocumentsContractcuando se ejecuta en Android 4.4. y versiones posteriores.
- Se agregó compatibilidad con
- Cambios para la versión 7 de appcompat biblioteca:
-
- Se agregó compatibilidad con material de diseño.
- Se agregó
Toolbar, que generaliza la funcionalidad deActionBarpara usar dentro de diseños de aplicaciones. - Actualizado el
ActionBarDrawerToggle, que contiene la animación de menú a flecha - Se actualizaron los widgets comunes de la interfaz de usuario para permitir el ajuste de tono a través del tema. atributos cuando se ejecuta en dispositivos con versiones anteriores a Android 5.0
- Se agregó
SwitchCompat, un backport del widgetSwitchque se agregó en Android 4.0 (nivel de API 14)
- Nueva biblioteca de cardview de la versión 7:
-
- Se agregó el widget
CardView, que proporciona una implementación compatible con Material Design para mostrar en los elementos de datos.
- Se agregó el widget
- Nuevo recyclerview de la versión 7 biblioteca:
-
- Se agregó el widget
RecyclerView, que proporciona una vista de lista flexible para brindar un período limitado en un gran conjunto de datos.
- Se agregó el widget
- Nueva biblioteca de paletas versión 7:
-
- Se agregó la clase
Palette, que te permite extraer colores prominentes de una imagen.
- Se agregó la clase
- Nueva biblioteca de leanback de la versión 17:
-
- Se agregó compatibilidad para crear interfaces de usuario de TV, lo que incluye
BrowseFragment,DetailsFragmentyPlaybackOverlayFragmentPara obtener más información sobre el uso de estos widgets de interfaz de usuario, consulta Cómo construir TVs Apps de reproducción
- Se agregó compatibilidad para crear interfaces de usuario de TV, lo que incluye
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó compatibilidad con notificaciones extendidas para Android Wear en
NotificationCompat.WearableExtender, que te permite para especificar funciones específicas de wearables en tus notificaciones. - Se agregó
NotificationCompat.Action.WearableExtender, que permite agregar acciones en notificaciones de wearables. - Se agregó
NotificationManagerCompat, lo que te permite para emitir notificaciones que admitan adecuadamente las funciones de wearables. - Se agregó
RemoteInput, que permite un dispositivo de mano. para recibir la entrada de voz de una notificación que aparece en un dispositivo wearable. - Se mejoró el manejo de la respuesta táctil en
SwipeRefreshLayout
- Se agregó compatibilidad con notificaciones extendidas para Android Wear en
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó la clase
SwipeRefreshLayout, que permite a los usuarios actualizar el contenido de una vista con una gesto de deslizamiento. - Se solucionaron problemas de accesibilidad con los paneles laterales de navegación.
- Se agregó la clase
- Cambios para la biblioteca de appcompat de la versión 7:
-
- Se corrigieron problemas de fondo con la barra de acción.
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se mejoró
PrintHelperagregando asíncrono y el manejo de las impresiones. - Se corrigió la aproximación de clase
DrawerLayoutdeaddChildrenForAccessibility(). - Se corrigió la duplicación de elementos de diseño de deslizamiento en
ActionBarDrawerToggle. - Se solucionó el problema de error por un paso que ocurre cuando se quita un elemento de un iterador de grupo.
- Se mejoró
- Cambios en la biblioteca de mediarouter de la versión 7:
-
- Se mejoró la identificación de la ruta con el uso de nombre completo del componente en
MediaRouteProvider.ProviderMetadata. - Se actualizó
MediaRouteChooserDialogpara ocultar elementos inhabilitados rutas.
- Se mejoró la identificación de la ruta con el uso de nombre completo del componente en
- Cambios en la biblioteca de renderscript de la versión 8:
-
- Se agregó propagación de error para la capa de invocación de RenderScript.
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó compatibilidad con las APIs de Storage externas con el
getObbDirs(),getExternalFilesDirs(),getExternalCacheDirs(), ygetStorageState(). Estos métodos auxiliares siempre devuelven un único objeto de archivo en dispositivos que ejecutan Android. 4.3 (nivel de API 18) y versiones anteriores Cuando se ejecuta en Android 4.4 (nivel de API 19) y versiones posteriores, estos métodos pueden mostrar más de un objeto de archivo. - Se agregó la clase
PrintHelperque funciona con el Print API para imprimir imágenes con un mínimo de código - Se agregó compatibilidad con la interfaz de usuario de arrastrar para abrir en menús emergentes. Para obtener más información, consulta
PopupMenuCompatyListPopupWindowCompat - Mejor compatibilidad de accesibilidad con la incorporación de un
Método
findFocus()enAccessibilityNodeProviderCompaty las MétodogetLiveRegion()enAccessibilityNodeInfoCompat - Se agregó la clase auxiliar
ScaleGestureDetectorCompatpara acceder a nuevos métodos de gestos de escalamiento. - Se corrigió un problema con
ActionBarDrawerToggleen se muestra un idioma de derecha a izquierda. - Se modificó la opción de
AutoScrollHelperpara consumir táctiles o permitir que pasen a través de otras vistas.
- Se agregó compatibilidad con las APIs de Storage externas con el
- Cambios en la biblioteca de mediarouter de la versión 7:
-
- Se agregó compatibilidad con la puesta en cola de reproducción de contenido multimedia, la configuración de valores de encabezado HTTP y contenido multimedia. la duración de la reproducción.
- Se agregaron acciones explícitas de inicio, obtención y finalización de sesión para administrar el contenido multimedia de forma explícita. sesiones de reproducción con el router de contenido multimedia.
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Interfaz de usuario
- Se agregó
BidiFormatterpara el control. cadenas de texto que combinan texto con formato de derecha a izquierda e izquierda a derecha. - Se modificó
ViewPagerpara manejar mejor los casos en los que la El carrusel tiene un ancho medido de cero durante el procesamiento de diseño inicial. - Se modificaron
DrawerLayoutySlidingPaneLayoutpara no arrojar excepciones para mientras se edita el código del proyecto.
- Se agregó
- Accesibilidad
- Se agregó
ExploreByTouchHelperpara simplificar la implementación de accesibilidad para vistas personalizadas. - Se corrigió un problema incorrecto con
ViewPager. Se propaganTYPE_VIEW_SCROLLEDeventos de accesibilidad. - Se corrigió una excepción de puntero nulo en
ViewPagercuando se producía completar un evento de accesibilidad. AccessibilityNodeInfoCompatsimplificado Para ello, cambia las entradasCharSequencepor objetosString.- Se dio de baja un
AccessibilityRecordCompatque usaba unObjectcomo entrada.
- Se agregó
- Medios de comunicación
- Se agregó la clase auxiliar
TransportMediatorpara administrar control de transporte multimedia, como reproducir, pausar, omitir y otras acciones multimedia. - Se agregó
DisplayManagerCompatpara administrar mostrar la salida a una o más pantallas del dispositivo.
- Se agregó la clase auxiliar
- Otros cambios
- Se agregó la clase auxiliar
WakefulBroadcastReceiverpara implementar un patrón común de detección de un evento de activación del dispositivo y transferir trabajo a unServicey, al mismo tiempo, garantizar que el dispositivo no vuelva a dormir antes de que se complete la transferencia. - Se agregaron dos APIs nuevas,
commitContentChanged()yrollbackContentChanged(), aAsyncTaskLoaderpara ayudan a gestionar actualizaciones en segundo plano de cambios de datos que posteriormente se cancelan.
- Se agregó la clase auxiliar
- Interfaz de usuario
- Nueva biblioteca de appcompat de la versión 7:
- Nueva biblioteca de mediarouter de la versión 7:
-
Se agregó una nueva biblioteca de mediarouter que admite la vista previa para desarrolladores de Google Cast. Las mediarouter library API v7 proporcionan un medio para controlar el enrutamiento de canales multimedia y transmisiones desde el dispositivo actual a pantallas externas, bocinas y otros dispositivos de destino, compatibles con Android 2.1. (nivel de API 7). Consultar la versión 7 mediarouter biblioteca para obtener más información.
Las APIs de la biblioteca mediarouter v7 introducidas en la compatibilidad La biblioteca r18 está sujeta a cambios en revisiones posteriores de la Asistencia. Biblioteca. En este momento, recomendamos usar la biblioteca solo en conexión con el navegador Google Cast Versión preliminar para desarrolladores
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó
DrawerLayoutpara crear un Navegación Panel lateral que se puede extraer desde el borde de una ventana. - Se agregó el widget
SlidingPaneLayoutpara crear vínculos de resumen y detalles que se adaptan adecuadamente a varios tamaños de pantalla. - Se agregó
ActionBarDrawerTogglecomo forma de vincular las funciones deDrawerLayoutyActionBar. - Se agregó
ViewDragHelpercomo un nuevo componente común. para arrastrar vistas dentro de una vista superior. - Se agregó
ScrollerCompatpara proporcionar compatibilidad conScrolleryOverScroller. - Se agregó
FileProviderpara permitir el uso compartido archivos entre aplicaciones. - Se actualizó
ViewPagerpara arrojar una excepción si el elemento la clasePagerAdapterasociada se modifica sin un llamada anotifyDataSetChanged(). - Se solucionó un problema con el orden de dibujo de elementos secundarios
ViewPager. en el orden personalizado. - Se corrigió
GestureDetectorCompatpara que falte el envío.onSingleTapConfirmed(MotionEvent)de llamadas entre el tiempo de espera del toque y los eventos de mantener presionado.
- Se agregó
- Nueva biblioteca de gridlayout de la versión 7:
-
- Se agregó
GridLayoutpara brindar compatibilidad con el Objeto de diseñoGridLayout. - Se agregó
android.support.v7.widget.Space, que se puede usar para crear áreas en blanco dentro de un objeto de diseñoGridLayout.
- Se agregó
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se mejoró el comportamiento de interacción para
ViewPager. - Se corrigió un error que podía hacer que
ViewPagerseleccionara el página incorrecta. - Se corrigió el uso del método
removeView(). durante el diseño deViewPager. - Se solucionó un problema relacionado con
SearchViewCompatpor el que se usaba el botón Atrás para descartar no borra el texto de búsqueda. Esta corrección solo se aplica a API de host del nivel 14 o superior.
- Se mejoró el comportamiento de interacción para
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Interfaz de usuario
- Se agregó compatibilidad para clases
Fragmentanidadas. - Se agregaron mejoras a la depuración de
FragmentManager. - Se solucionó el problema en
FragmentTabHostpor el que el fragmento y la interacción de las pestañas puede generar una pérdida de estadoListView. - Se solucionó el problema con la sugerencia visible para el usuario en
FragmentStatePagerAdapter - Se agregó el
PageTransformerde entrada aViewPagerpara permitir que las aplicaciones brindan un comportamiento de transición personalizado para el desplazamiento. - Se agregaron funciones y correcciones nuevas a
TaskStackBuilder. de la versión actual. - Se corrigió
PagerTitleStrippara hacer un seguimiento correcto delPagerAdapterestá en uso actualmente. - Se corrigieron problemas de parpadeo, posicionamiento y recorte de texto de la pantalla con
PagerTitleStrip - Se corrigió
PagerTabStrippara respetar el relleno de forma correcta. al dibujar un subrayado.
- Se agregó compatibilidad para clases
- Accesibilidad
- Se agregó compatibilidad con nuevos tipos de gestos y eventos táctiles de accesibilidad en
AccessibilityEventCompat - Se agregó compatibilidad con nuevas APIs de accesibilidad en
ViewCompat - Se agregó compatibilidad con el método
performAccessibilityAction()aViewCompat.
- Se agregó compatibilidad con nuevos tipos de gestos y eventos táctiles de accesibilidad en
- Se agregó compatibilidad con gestos con
GestureDetectorCompat. - Se agregó compatibilidad para realizar operaciones atómicas en archivos usando un nuevo
Clase
AtomicFile. - Se agregó compatibilidad con el conjunto completo de métodos
makeenIntentCompat - Se agregó el método
trimToSize()en Clase de utilidadLruCache. - Se actualizó
ConnectivityManagerCompatpara obtener NetworkInfo desde unCONNECTIVITY_ACTIONtransmisión.
- Interfaz de usuario
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó compatibilidad para las funciones de notificación introducidas en Android 4.1 (nivel de API 16) con
adiciones a
NotificationCompat.
- Se agregó compatibilidad para las funciones de notificación introducidas en Android 4.1 (nivel de API 16) con
adiciones a
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Compatibilidad con interfaz de usuario
- Se agregó compatibilidad con
PagerTabStrip, que proporciona compatibilidad mejorada funcionalidad más allá dePagerTitleStrip. - Se corrigieron varios errores de
PagerTitleStripyPagerTabStrip, incluida la opciónsetAllCaps, la alineación del título, mejoras de aspecto, restricciones de ancho mínimo y problemas de navegación táctil. - Se agregó compatibilidad con los medianiles de las páginas
ViewPager, que ayuda a la claseViewPagera proporcionar compatibilidad de paginación para el contenido con un intervalo de desplazamiento horizontal amplio, como un mapa. - Se corrigieron varios errores de
ViewPager, incluido el tamaño. y cambios en el conjunto de datos, el posicionamiento de la página, la interacción del usuario, el seguimiento de desplazamiento y el teclado problemas de navegación. - Se corrigieron muchos errores de
Fragment, incluidos los errores manejo deonActivityResult()cuando el fragmento de destino ya no existe, despachar eventos de selección a fragmentos invisibles, Comportamiento deFragmentTransaction.replace()y se agregó un mejor manejo del estado para los fragmentos que se quitan de la vista. - Se agregó compatibilidad con el método
postOnAnimation()enViewCompat. - Se actualizó
NavUtilspara usar Android 4.1 (nivel de API 16) Función de navegación hacia arriba (cuando esté disponible)
- Se agregó compatibilidad con
- Accesibilidad
- Se actualizaron las clases de compatibilidad de accesibilidad, incluida
AccessibilityNodeInfoCompat, para un seguimiento de las correcciones realizadas en Android. 4.1 (nivel de API 16) - Se agregó compatibilidad para acciones de desplazamiento de accesibilidad en
ViewPager.
- Se actualizaron las clases de compatibilidad de accesibilidad, incluida
- Mejoras generales
- Se actualizó
TaskStackBuilderpara reflejar los cambios en la API en Android 4.1 (nivel de API 16) - Se mejoró
TaskStackBuilderpara permitir su uso. de un servicio. - Se agregó compatibilidad con
EXTRA_HTML_TEXTaShareCompat. - Se actualizó
NotificationCompat.Builderpara admitir elsetNumber(). - Se agregó compatibilidad en
ConnectivityManagerCompatpara elisActiveNetworkMetered().
- Se actualizó
- Compatibilidad con interfaz de usuario
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se corrigieron las marcas de intent para los objetos
PendingIntentgenerados. porTaskStackBuilder. - Se quitaron los atributos sin usar de los proyectos de la biblioteca de gridlayout para garantizar. la biblioteca se puede compilar con el nivel de API 7 y versiones posteriores.
- Se agregaron los archivos
.classpathy.projectpara gridlayout. proyecto de biblioteca.
- Se corrigieron las marcas de intent para los objetos
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó
ShareCompat, que proporciona clases auxiliares. para enviar y recibir contenido para aplicaciones de uso compartido en redes sociales, incluidos nuevos metadatos para atribuir datos compartidos a la app de origen. Esta clase también proporciona integración compatible con el NuevoShareActionProvideren Android 4.0. - Se agregaron
NavUtilsyTaskStackBuilderpara brindar compatibilidad con la implementación de la Lineamientos de diseño de Android para la navegación Estos Las adiciones incluyen una forma de implementar el botón Arriba de la barra de acciones en todas las versiones. Para ver una implementación de ejemplo de este patrón, consulta el ejemplo de AppNavigation en (<em><sdk></em>/samples/<em><platform></em>/AppNavigation). - Se agregó
NotificationCompat.Builderpara proporcionar un implementación de compatibilidad de la clase auxiliarNotification.Builderde Android 3.0 para crear notificaciones de sistema estandarizadas.
- Se agregó
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Cambios en ViewPager:
- Se agregó compatibilidad adicional con vistas decorativas para
ViewPager. Las vistas decorativas se pueden proporcionar como vistas secundarias de una página en un diseño XML. - Se agregó
PagerAdapter.getPageTitle()para proporcionar cadenas de título para páginas, lo que se establece en "no" de forma predeterminada. título de cada página. - Se agregó
PagerTitleStrip, un título no interactivo que se puede agregar como elemento secundario de ViewPager. Los desarrolladores pueden proporcionar texto la apariencia y el color, así como el tamaño del diseño y la información de gravedad. - Se actualizaron los métodos
PagerAdapterpara tomar ViewGroup. objetos, en lugar de View, para evitar la transmisión de clases en las implementaciones del adaptador. - Se actualizó
ViewPagerpara usar el estilo de Selector. de lanzamiento. - Se corrigieron errores para la interacción con la interfaz de usuario y la automatización de pruebas.
- Se agregó compatibilidad adicional con vistas decorativas para
- Compatibilidad con fragmentos:
- Se cambió el método
setStartDeferred()asetUserVisibleHint(boolean). - Se agregó el inicio diferido de las páginas fuera de la pantalla para mejorar el rendimiento.
- Se cambió el método
- Compatibilidad con las APIs de accesibilidad:
- Se actualizaron los métodos
AccessibilityDelegateCompatpara mostrar listas vacías en lugar de nulas. - Se agregaron las nuevas API que necesitan las muestras de la versión 4.
- Se actualizaron los métodos
- Cambios en ViewPager:
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Compatibilidad con las APIs de accesibilidad:
- Se agregó el
AccessibilityDelegateCompatpara admitirView.AccessibilityDelegate. - Se agregó el
AccessibilityEventCompatpara admitirAccessibilityEvent. - Se agregó el
AccessibilityManagerCompatpara admitirAccessibilityManager. - Se agregó el
AccessibilityNodeInfoCompatpara admitirAccessibilityNodeInfo. - Se agregó el
AccessibilityRecordCompatpara admitirAccessibilityRecord. - Se agregó el
AccessibilityServiceInfoCompatpara admitirAccessibilityServiceInfo. - Se agregó el
ViewGroupCompatpara admitir funciones de accesibilidad enViewGroup. - Se modificó el
ViewCompatpara admitir funciones de accesibilidad enView.
- Se agregó el
- Cambios en ViewPager:
- Se agregó compatibilidad con los márgenes entre páginas.
Se puede proporcionar un
Drawableopcional. para rellenar los márgenes. - Se agregó compatibilidad para
EdgeEffect. - Se agregó compatibilidad para la navegación del teclado.
- Se agregó compatibilidad para controlar cuántas páginas se mantienen a ambos lados. de la página actual.
- Se mejoró la física táctil.
- Se corrigieron errores relacionados con el comportamiento de la interfaz de usuario.
- Se agregó compatibilidad con los márgenes entre páginas.
Se puede proporcionar un
- Compatibilidad con las APIs de accesibilidad:
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Se agregó
EdgeEffectCompata admiteEdgeEffect. - Se agregó
LocalBroadcastManagerpara permitir que las aplicaciones puedan registrarse y recibir intents dentro de una única aplicación sin y los transmitimos en todo el mundo. - Se agregó compatibilidad en
ViewCompatpara buscar y configurar el sobredesplazamiento. modos paraViewen Android 2.3 y versiones posteriores. - Cambios en las APIs de Fragment:
- Se agregaron API nuevas para controlar la visibilidad de los nuevos menús.
- Se agregaron API de animación personalizadas.
- Se agregaron APIs en
FragmentActivitypara retener APIs personalizadas, datos de instancia sin configuración. - Se corrigieron varios errores.
- Se corrigió un error
Loaderque causaba problemas en Cancelación de elementosAsyncTaskcuando se ejecuta en Froyo y versiones anteriores más recientes de la plataforma. La asistencia código ahora usa su propia versión deAsyncTaskpara mantener la misma en todas las versiones de la plataforma.
- Se agregó
- Cambios en la biblioteca de compatibilidad de la versión 4:
-
- Agrega compatibilidad para
Fragment.SavedState - Agrega
MotionEventCompatpara admitir APIMotionEventmás nuevas - Agrega
VelocityTrackerCompatpara admitir APIVelocityTrackermás nuevas - Agrega
ViewConfigurationCompatpara admitir APIViewConfigurationmás nuevas - Todas las APIs nuevas (disponibles solo en la biblioteca de compatibilidad) que te permiten crear IU
con paginación horizontal, que permite a los usuarios deslizar el dedo hacia la izquierda y la derecha entre las vistas de contenido. Clases para
para admitir esto incluyen:
ViewPager: Es unViewGroupque administra la para las vistas secundarias, entre las que el usuario puede deslizar el dedo.PagerAdapter: Un adaptador que propaga elViewPagercon el vistas que representan cada página.FragmentPagerAdapter: Es una extensión dePagerAdapterpara girar. entre fragmentos.FragmentStatePagerAdapter: Es una extensión dePagerAdapterpara Cambiar entre fragmentos que usa la compatibilidad de la biblioteca paraFragment.SavedState
- Agrega compatibilidad para
- Nueva biblioteca de compatibilidad de la versión 13:
-
- Incluye
FragmentPagerAdapteryFragmentStatePagerAdapterpara admitir la paginación horizontal.Estas son exactamente las mismas que las APIs agregadas a la biblioteca de compatibilidad v4, pero dependen de otros componentes de la plataforma en Android 3.2. Usa esta biblioteca en lugar de la versión 4 si estás desarrollando para Android 3.2 y versiones posteriores (todas las demás APIs de la biblioteca v4 ya están disponibles con nivel de API 13).
- Incluye
- Cambios para la biblioteca de la versión 4:
-
- Compatibilidad para fragmentos de animaciones.
- Corregir
Fragment.onActivityResult()error
Revisión 22
marzo de 2015
Revisión 21.0.3
diciembre de 2014
Revisión 21.0.2
noviembre de 2014
Revisión 21.0.1
noviembre de 2014
Revisión 21
octubre de 2014
Revisión 20
julio de 2014
Revisión 19.1.0
marzo de 2014
Revisión 19.0.1
diciembre de 2013
Revisión 19
octubre de 2013
Revisión 18
julio de 2013
Revisión 13
mayo de 2013
Revisión 12
febrero de 2013
Revisión 11
noviembre de 2012
Revisión 10
agosto de 2012
Revisión 9
junio de 2012
Revisión 8
abril de 2012
Revisión 7
marzo de 2012
Revisión 6
diciembre de 2011
Nota: La referencia para las APIs de la biblioteca de compatibilidad ahora está disponible con
las referencias del framework, por ejemplo: android.support.v4.app.
Revisión 5
diciembre de 2011
Revisión 4
octubre de 2011
Revisión 3
julio de 2011
Revisión 2
mayo de 2011
Revisión 1
marzo de 2011
Versión inicial con la biblioteca de la versión 4.