Appcompat

Permite el acceso a nuevas APIs en versiones de APIs anteriores de la plataforma (muchas con Material Design).
Actualización más reciente Versión estable Versión potencial Versión beta Versión alfa
29 de mayo de 2024 1.7.0 - - -

Cómo declarar dependencias

Para agregar una dependencia en Appcompat, debes agregar el repositorio Maven de Google a tu proyecto. Consulta el repositorio Maven de Google para obtener más información.

Agrega las dependencias de los artefactos que necesites en el archivo build.gradle de tu app o módulo:

Groovy

dependencies {
    def appcompat_version = "1.7.0"

    implementation "androidx.appcompat:appcompat:$appcompat_version"
    // For loading and tinting drawables on older versions of the platform
    implementation "androidx.appcompat:appcompat-resources:$appcompat_version"
}

Kotlin

dependencies {
    val appcompat_version = "1.7.0"

    implementation("androidx.appcompat:appcompat:$appcompat_version")
    // For loading and tinting drawables on older versions of the platform
    implementation("androidx.appcompat:appcompat-resources:$appcompat_version")
}

Para obtener más información sobre las dependencias, consulta Cómo agregar dependencias de compilación.

Comentarios

Tus comentarios ayudan a mejorar Jetpack. Avísanos si descubres nuevos errores o tienes ideas para mejorar esta biblioteca. Consulta los errores existentes de esta biblioteca antes de crear uno nuevo. Puedes agregar tu voto a un error existente haciendo clic en el botón de la estrella.

Crear un error nuevo

Consulta la documentación sobre la Herramienta de seguimiento de errores para obtener más información.

Versión 1.7

Versión 1.7.0

29 de mayo de 2024

Lanzamiento de androidx.appcompat:appcompat:1.7.0 y androidx.appcompat:appcompat-resources:1.7.0. La versión 1.7.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.6.0

  • AppCompatDialog ahora configura correctamente LifecycleOwner, SavedStateRegistryOwner y OnBackPressedDispatcherOwner en la vista de decoración del diálogo a través de las APIs de ViewTree, lo que corrige problemas cuando se aloja un ComposeView dentro de un AppCompatDialog.
  • Ahora, AppCompatActivity configura ViewTreeOnBackPressedDispatcherOwner para que sea posible recuperar el despachador desde la vista
  • Se mejoró significativamente el rendimiento de SupportMenuInflater.
  • Locale.getDefault() ahora muestra la configuración regional del sistema después de un inicio en frío.
  • LinearLayoutCompat ahora conserva los parámetros de diseño de los márgenes.

Actualizaciones de dependencias

  • AppCompat ahora depende de Activity 1.7.0.
  • AppCompat ahora depende de la versión 1.5.4 de Fragment

Versión 1.7.0-rc01

14 de mayo de 2024

Lanzamiento de androidx.appcompat:appcompat:1.7.0-rc01 y androidx.appcompat:appcompat-resources:1.7.0-rc01. La versión 1.7.0-rc01 contiene estas confirmaciones.

Versión 1.7.0-beta01

1 de mayo de 2024

Lanzamiento de androidx.appcompat:appcompat:1.7.0-beta01 y androidx.appcompat:appcompat-resources:1.7.0-beta01. La versión 1.7.0-beta01 contiene estas confirmaciones.

Versión 1.7.0-alpha03

26 de julio de 2023

Lanzamiento de androidx.appcompat:appcompat:1.7.0-alpha03 y androidx.appcompat:appcompat-resources:1.7.0-alpha03. La versión 1.7.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • Se agregó compatibilidad para obtener configuraciones regionales por app en contextos que no son de actividad (I58e753). Se agregaron cuatro API nuevas para esta función:

    • LocaleManagerCompat.getApplicationLocales(): Para que los desarrolladores obtengan configuraciones regionales por app fuera del alcance de la actividad

    • ContextCompat.getString(): Muestra cadenas localizadas en función de las configuraciones regionales por app.

    • ContextCompat.getContextForLanguage(): El contexto que muestra este método respetará las configuraciones regionales por app.

    • ConfigurationCompat.setLocales(): Para las APIs anteriores, se usa para establecer la configuración regional.

Otros cambios en la API

  • Se agregó setLineHeight(unit, lineHeight) a las clases compatibles de TextView (Ia9fa9).
  • Se agregó setLineHeight(unit, lineHeight) a las clases compatibles de TextView (Ib2ee1).
  • Se agregó setLineHeight(unit, lineHeight) a las clases de compatibilidad TextView (I15716).

Correcciones de errores

  • AppCompatDialog ahora configura correctamente LifecycleOwner, SavedStateRegistryOwner y OnBackPressedDispatcherOwner en la vista de decoración del diálogo a través de las APIs de ViewTree, lo que corrige problemas cuando se aloja un ComposeView dentro de un AppCompatDialog. AppCompat ahora depende de Activity 1.7.0. (Ib28ab, b/261314581).
  • Se mejoró significativamente el rendimiento de SupportMenuInflater (I0b087).

Versión 1.7.0-alpha02

8 de febrero de 2023

Lanzamiento de androidx.appcompat:appcompat:1.7.0-alpha02 y androidx.appcompat:appcompat-resources:1.7.0-alpha02. La versión 1.7.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió una fuga de memoria en AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).
  • AppCompat ahora depende de la versión 1.5.4 de Fragment (I54dcd).

Versión 1.7.0-alpha01

5 de octubre de 2022

Lanzamiento de androidx.appcompat:appcompat:1.7.0-alpha01 y androidx.appcompat:appcompat-resources:1.7.0-alpha01. La versión 1.7.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Ahora, AppCompatActivity configura ViewTreeOnBackPressedDispatcherOwner para que sea posible recuperar el despachador desde la vista (I1a115, b/235416503).
  • Locale.getDefault() ahora muestra la configuración regional del sistema después de un inicio en frío (I6a94b).
  • LinearLayoutCompat ahora conserva los parámetros de diseño de los márgenes (Id2af4).

Versión 1.6.1

Versión 1.6.1

8 de febrero de 2023

Lanzamiento de androidx.appcompat:appcompat:1.6.1 y androidx.appcompat:appcompat-resources:1.6.1. La versión 1.6.1 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió una fuga de memoria en AppCompatDelegate.getLocaleManagerForApplication() (44b57fd).

Versión 1.6.0

Versión 1.6.0

11 de enero de 2023

Se lanzaron androidx.appcompat:appcompat:1.6.0 y androidx.appcompat:appcompat-resources:1.6.0. La versión 1.6.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.5.0

  • Se agregó compatibilidad para personalizar configuraciones regionales de aplicaciones. Consulta AppCompatDelegate.setApplicationLocales(LocaleListCompat) para obtener más información. Proporciona retrocompatibilidad para la nueva API de preferencias por idioma disponible en Android 13.
  • Actualizaciones de nulabilidad para alinearse con el SDK de Android 13 (Tiramisu, nivel de API 33).
  • Se agregaron las clases de compatibilidad DrawableWrapper, DrawableContainer y StateListDrawable a la plataforma de la API pública.

Versión 1.6.0-rc01

7 de septiembre de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-rc01 y androidx.appcompat:appcompat-resources:1.6.0-rc01. La versión 1.6.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Ahora, AppCompatActivity configura ViewTreeOnBackPressedDispatcherOwner para que sea posible recuperar el despachador desde la vista (I1a115, b/235416503).
  • Se revirtió una corrección de errores que anulaba la configuración que se pasaba a onConfigurationChanged, lo que causaba problemas en las pruebas que inyectaban sus propias configuraciones personalizadas a través de onConfigurationChanged.

Versión 1.6.0-beta01

10 de agosto de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-beta01 y androidx.appcompat:appcompat-resources:1.6.0-beta01. La versión 1.6.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Se movieron las clases de compatibilidad DrawableWrapper, DrawableContainer y StateListDrawable a la API pública (I37f3e, b/227789566).
  • Se presentó una nueva fábrica para el aumento del diseño asíncrono (Ia657b).

Correcciones de errores

  • Toolbar ahora llamará a onPrepareMenu() antes de que se muestre el menú en lugar de incondicionalmente cuando se cree (I2a58d, b/232206677).
  • AppCompat ahora depende explícitamente de Lifecycle 2.5.1 y SavedState 1.2.0 (I7e3e2).
  • Se agregó compatibilidad con la devolución de llamada invocada a AppCompatDelegate y la implementación de la barra de herramientas que proporciona AppCompat (I24062).
  • Se completaron las APIs de AppCompat para 1.5.0-beta01 (I2a43d, b/236866227).
  • Se completaron las APIs de AppCompat para 1.5.0-beta01 (I2a43d, b/236866227).

Versión 1.6.0-alpha05

15 de junio de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-alpha05 y androidx.appcompat:appcompat-resources:1.6.0-alpha05. La versión 1.6.0-alpha05 se desarrolló en una rama privada previa al lanzamiento y no tiene confirmaciones públicas.

Cambios en la API

  • Actualizaciones de nulabilidad para alinearse con la plataforma de API finalizada en el SDK de Tiramisu beta 3
  • minCompileSdk ahora es 33 para alinearse con el SDK de Tiramisu beta 3

Versión 1.6.0-alpha04

18 de mayo de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-alpha04 y androidx.appcompat:appcompat-resources:1.6.0-alpha04. Esta biblioteca se desarrolló con una rama privada previa al lanzamiento, por lo que no hay registros de confirmación disponibles.

Cambios en la API

  • Se agregó una API que anula la restricción de ancho de SwitchCompat cuando la usa MDC-Android.

Correcciones de errores

  • Se evitó la configuración administrada cuando la configuración cambia fuera de adjuntoBaseConfig.

Versión 1.6.0-alpha03

27 de abril de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-alpha03 y androidx.appcompat:appcompat-resources:1.6.0-alpha03.

Esta versión requiere que se compile la versión beta 1 de Android 13 y no se garantiza que sea compatible con el entorno de ejecución en futuras versiones preliminares para desarrolladores.

Nuevas funciones

  • Compatibilidad con la selección de idiomas personalizados en toda la app mediante AppCompatDelegate.setApplicationLocales(). Delega a la implementación de la plataforma en el nivel de API 33 y versiones posteriores.

Versión 1.6.0-alpha01

23 de febrero de 2022

Lanzamiento de androidx.appcompat:appcompat:1.6.0-alpha01 y androidx.appcompat:appcompat-resources:1.6.0-alpha01. La versión 1.6.0-alpha01 se compiló a partir de una rama interna y no tiene confirmaciones visibles de forma pública.

Esta versión requiere que se compile Android Tiramisu DP1 y no se garantiza que sea compatible con el entorno de ejecución en futuras versiones preliminares para desarrolladores.

Nuevas funciones

  • Se agregó compatibilidad para personalizar configuraciones regionales de aplicaciones. Consulta AppCompatDelegate.setApplicationLocales(LocaleListCompat) para obtener más información. Proporciona retrocompatibilidad para la nueva API de preferencias por idioma disponible en Android 13.

Versión 1.5.1

Versión 1.5.1

7 de septiembre de 2022

Lanzamiento de androidx.appcompat:appcompat:1.5.1 y androidx.appcompat:appcompat-resources:1.5.1. La versión 1.5.1 contiene estas confirmaciones.

Actualizaciones de dependencias

Versión 1.5.0

Versión 1.5.0

10 de agosto de 2022

Lanzamiento de androidx.appcompat:appcompat:1.5.0 y androidx.appcompat:appcompat-resources:1.5.0. La versión 1.5.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.4.0

  • Esta versión estable incluye mejoras en la estabilidad del modo nocturno, correcciones de errores y compatibilidad con tonos de elementos de diseño compuestos para widgets de texto respaldados por AppCompat, y mejoras en la usabilidad de APIs. Consulta las notas de la versión de la serie 1.5.0 anterior para obtener una lista detallada de los cambios.

Versión 1.5.0-rc01

27 de julio de 2022

Lanzamiento de androidx.appcompat:appcompat:1.5.0-rc01 y androidx.appcompat:appcompat-resources:1.5.0-rc01. La versión 1.5.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un problema en el que el wrapper de contexto de AppCompat reutilizaba la implementación de recursos de respaldo del contexto de la aplicación, lo que provocaba que se reemplazara uiMode en el contexto de la app (Idf9d5).

Versión 1.5.0-beta01

13 de julio de 2022

Lanzamiento de androidx.appcompat:appcompat:1.5.0-beta01 y androidx.appcompat:appcompat-resources:1.5.0-beta01. La versión 1.5.0-beta01 contiene estas confirmaciones..

Cambios en la API

  • Se agregó una marca anulable para inhabilitar el ajuste de ancho del interruptor predeterminado (I37cb7).
  • Se agregó la anotación @FloatRange a la API de Thumb Position Getter (If524c).
  • Se agregaron las anotaciones de nulabilidad faltantes a AnimatedStateListDrawableCompat (Ieb4ec).

Correcciones de errores

  • Se completaron las APIs de AppCompat para 1.5.0-beta01 (I2a43d, b/236866227).
  • Se cambió el valor de className para que ActionMenuItemView se considere Button (I5ee1c).

Versión 1.5.0-alpha01

6 de abril de 2022

Lanzamiento de androidx.appcompat:appcompat:1.5.0-alpha01 y androidx.appcompat:appcompat-resources:1.5.0-alpha01. La versión 1.5.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se agregó una nueva API para exponer la posición del interruptor thumb en subclases (I9bfb4).
  • Se actualizó la nulabilidad para que coincida con Tiramisu DP2 (I0cbb7).
  • Se agregó portabilidad a versiones anteriores del tono de elementos de diseño compuestos a widgets TextView-derived (Idf98c, b/165822337).
  • AppCompatDialog ahora extiende ComponentDialog para brindar compatibilidad con OnBackPressedDispatcher (Id9b91, b/217620781).
  • Ahora SearchView.onQueryRefine() tiene una visibilidad protegida para permitir anulaciones (I6cce0, b/212882845).

Correcciones de errores

  • AppCompat Toolbar ahora llama a la API onPrepareMenu() de MenuHostHelper (I9b9b5, b/227376894).
  • AppCompatEditText, AppCompatAutoCompleteEditText y AppCompatMultiAutoCompleteEditText ya no restablecerán el elemento en el que se puede clic ni el atributo longClickable en el constructor cuando se configure en XML (Ic5066, b/221094907).
  • AppCompatEditText, AppCompatAutoCompleteTextView y AppCompatMultiAutoCompleteTextView no llamarán al setKeyListener anulado durante el constructor (I5c13a, b/208480173).
  • Appcompat no unirá instancias deNumberKeyListener pasadas a setKeyListener, lo que permite que TextView para configurar correctamente la configuración regional en NumberKeyListeners (Ibf113, b/207119921).
  • Se corrigió el problema con todas las subclases de NumberKeyListener introducidas en AppCompat 1.4.0 que permitían el ingreso de caracteres inesperados, como la puntuación (Iede7a, b/207119921).

Versión 1.4.2

Versión 1.4.2

1 de junio de 2022

Lanzamiento de androidx.appcompat:appcompat:1.4.2 y androidx.appcompat:appcompat-resources:1.4.2. La versión 1.4.2 contiene estas confirmaciones.

Correcciones de errores

  • Se solucionó una falla en la que AppCompatDelegateImpl realizaba una llamada interna a ensureSubDecor antes de que se creara la barra de acciones (aosp/2048349, b/226648941).

Versión 1.4.1

12 de enero de 2022

Lanzamiento de androidx.appcompat:appcompat:1.4.1 y androidx.appcompat:appcompat-resources:1.4.1. La versión 1.4.1 contiene estas confirmaciones.

Correcciones de errores

  • AppCompatEditText, AppCompatAutoCompleteTextView y AppCompatMultiAutoCompleteTextView no llamarán al setKeyListener anulado durante el constructor (I5c13a, b/208480173)
  • Emoji2 no unirá instancias de NumberKeyListener, lo que permitirá que textview establezca la configuración regional.
    • Appcompat no unirá las instancias de NumberKeyListener que se pasen a setKeyListener, lo que permitirá que TextView establezca correctamente la configuración regional en NumberKeyListeners. (Ibf113, b/207119921).
  • Se corrigió un problema con todas las subclases de NumberKeyListener que se introdujeron en appcompat versión 1.4.0, que permitían el ingreso de caracteres inesperados, como la puntuación. (b/207119921) (Iede7a, b/207119921)

Versión 1.4.0

Versión 1.4.0

17 de noviembre de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0 y androidx.appcompat:appcompat-resources:1.4.0. La versión 1.4.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.3.0

  • La biblioteca ahora está orientada al nivel de lenguaje Java 8.
  • La compatibilidad con emojis actualizables se habilita de forma predeterminada a través de la biblioteca androidx.emoji2.
  • Se mejoró la inspección de atributos en el Inspector de diseño de Android Studio (I02d55).
  • Se agregó compatibilidad con recursos de tono anidados y elementos de diseño vectorial para la portabilidad a versiones anteriores de carga de recursos en AppCompat. Sin embargo, ten en cuenta que esto significa que las apps no pueden anular getDrawable() en un objeto Resources personalizado cuando se habilita la portabilidad a versiones anteriores (Ia6b03, b/176129022).
  • Se brindó portabilidad a versiones anteriores para ajustar el tono del fondo y agregar marcas de verificación en CheckedTextView (I8575c).

Versión 1.4.0-rc01

27 de octubre de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0-rc01 y androidx.appcompat:appcompat-resources:1.4.0-rc01. La versión 1.4.0-rc01 contiene estas confirmaciones.

Versión 1.4.0-beta01

29 de septiembre de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0-beta01 y androidx.appcompat:appcompat-resources:1.4.0-beta01. La versión 1.4.0-beta01 contiene estas confirmaciones.

Cambios en la API

  • Ahora, Toolbar de AndroidX AppCompat es un MenuHost y puede administrar objetos MenuProvider. (I5cd95)

Correcciones de errores

  • Se corrigió el control de AppCompatProgressBar de las barras de progreso de la lista de capas (I6ece3, b/142004509).
  • Conserva correctamente android:digits en AppCompatEditText, y se corrige el error 193047889, que se introdujo en AppCompat versión 1.4.0-alpha03 (I4b4fc, b/193047889)
  • Se incorporó el SDK de OnReceiveContentListener y es compatible con las APIs de lib. (Ic6914, b/173814913)

Versión 1.4.0-alpha03

30 de junio de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0-alpha03 y androidx.appcompat:appcompat-resources:1.4.0-alpha03. La versión 1.4.0-alpha03 contiene estas confirmaciones.

Nuevas funciones

  • La biblioteca ahora está orientada al nivel de lenguaje Java 8.
  • Se agregó compatibilidad con emoji2 para más subclases de TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton y AppCompatCheckBox).

Cambios en la API

  • Se agregó una API para configurar InputConnection y usar View.performReceivedContent para controlar llamadas IME a InputConnection.commitContent (I3a2ad)
  • Se agregó compatibilidad con EmojiCompat a AppCompatMultiAutoCompleteTextView. (Ifece0)
  • Se agregó compatibilidad con EmojiCompat a AppCompatAutoCompleteTextView. (Ia1f4b)
  • Se agregó compatibilidad con EmojiCompat a AppCompatRadioButton (If08af).
  • Se agregó compatibilidad con EmojiCompat a AppCompatCheckBox. (I2b3bc)
  • Se permite un KeyListener nulo en AppCompatEditText. Esto revierte la anotación no nula que se agregó a AppCompatEditText en la versión 1.4-alpha01, y restablece el comportamiento anterior cuando se pasa un valor nulo. (I21482, b/189559345)
  • Se agregó PopupMenu.setForceShowIcon para la paridad con las APIs de la plataforma (I43bb3, b/182789798).

Correcciones de errores

  • Se corrigió el error en AppCompatEditText que restablecerá el inputType especificado en XML para quitar variantes. Este error se introdujo en AppCompat 1.4.0-alpha01 (I9df36, b/191061070)

Versión 1.4.0-alpha02

2 de junio de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0-alpha02 y androidx.appcompat:appcompat-resources:1.4.0-alpha02. La versión 1.4.0-alpha02 contiene estas confirmaciones.

Cambios en la API

  • Se agregó el constructor AppCompatDialogFragment, que toma un ID de diseño (Icbf22, b/188119987).
  • Se mejoró la compatibilidad con el inspector de diseño. (I02d55)
  • Se cambió el nombre del paquete en emoji2-views-helper por androidx.emoji2.viewsintegration. Este es un cambio rotundo para AppCompat 1.4.0-alpha01, y las apps deben asegurarse de que la dependencia de AppCompat esté actualizada para usar la nueva versión de emoji2 (Ie8397).

Correcciones de errores

  • Se corrigió el problema por el que las actividades detenidas no recibían los cambios de configuración en el modo nocturno que instrumenta AppCompat. (I8fa8f, b/188681415)
  • Se corrigió el error en AppCompatEditText que causaba que las vistas fueran enfocables incluso cuando se especificaba android:focusable="false" en el XML (error que se introdujo en AppCompat 1.4.0-alpha01) (Ib9412).

Versión 1.4.0-alpha01

18 de mayo de 2021

Lanzamiento de androidx.appcompat:appcompat:1.4.0-alpha01 y androidx.appcompat:appcompat-resources:1.4.0-alpha01. La versión 1.4.0-alpha01 contiene estas confirmaciones.

Cambios en la API

  • Se incorporó compatibilidad con EmojiCompat a varios widgets de AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c).
  • Se agregó compatibilidad con recursos de tono anidados y elementos de diseño vectorial para la portabilidad a versiones anteriores de carga de recursos en AppCompat. Sin embargo, ten en cuenta que esto significa que las apps no pueden anular getDrawable() en un objeto Resources personalizado cuando se habilita la portabilidad a versiones anteriores (Ia6b03, b/176129022).
  • Se mejoró la compatibilidad con el inspector de diseño. (I6d771)

Correcciones de errores

  • Se corrigió una situación en la que la llamada a setSupportActionBar después de configurar la devolución de llamada de la ventana reemplazaba la devolución de llamada. (Ie43ee, b/186791590)
  • Se agregó una solución alternativa para un problema en los SDK 29 y 30, donde los recursos ColorStateListDrawable clonados desde la caché del elemento de diseño no cargan un color predeterminado hasta que reciben un cambio de estado. (Iedb4b)
  • Evita la NPE cuando se procesan devoluciones de llamada nulas de modo de selección personalizada en las vistas respaldadas por AppCompat. (I033c7, b/173435375)

Actualizaciones de dependencias

Contribución externa

  • Se brindó portabilidad a versiones anteriores para ajustar el tono del fondo y agregar marcas de verificación en CheckedTextView. (I8575c)

Versión 1.3.1

Versión 1.3.1

21 de julio de 2021

Lanzamiento de androidx.appcompat:appcompat:1.3.1 y androidx.appcompat:appcompat-resources:1.3.1. La versión 1.3.1 contiene estas confirmaciones.

Actualizaciones de dependencias

  • AppCompat ahora depende de Activity 1.2.4 y Fragment 1.3.6, por lo que las correcciones de esas versiones se incluyen de forma predeterminada cuando se usa AppCompat 1.3.1. (I8fbec)

Versión 1.3.0

Versión 1.3.0

18 de mayo de 2021

Lanzamiento de androidx.appcompat:appcompat:1.3.0 y androidx.appcompat:appcompat-resources:1.3.0. La versión 1.3.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.2.0

  • Se corrigió la propagación de los atributos android:theme en diseños <include>, en dispositivos anteriores a la versión Lollipop.
  • Se redujo el tamaño de la biblioteca convirtiendo muchos recursos PNG en VectorDrawables.
  • Se agregó compatibilidad con eventos de arrastrar y soltar a AppCompatEditText con OnReceiveContentListener.
  • Se actualizó para admitir cambios en la administración de inserciones de ventana de Android 11.
  • Se agregó compatibilidad con la lectura de derecha a izquierda en los elementos de menú con íconos.
  • Se agregó compatibilidad para insertar contenido enriquecido (p. ej., pegar una imagen) en AppCompatEditText.

  • Dependencias actualizadas: appcompat actualizó muchas de sus dependencias de transición para que se admitan nuevas funciones y correcciones:

Versión 1.3.0-rc01

24 de marzo de 2021

Lanzamiento de androidx.appcompat:appcompat:1.3.0-rc01 y androidx.appcompat:appcompat-resources:1.3.0-rc01. La versión 1.3.0-rc01 contiene estas confirmaciones.

Correcciones de errores

  • Se impidió que se revoquen los permisos prematuramente cuando se controla la inserción de contenido IME.

Actualizaciones de dependencias

Contribución externa

  • Se corrigió la propagación del atributo android:theme en diseños <include> en dispositivos anteriores a la versión Lollipop (Simon Bergner de Opera).

Versión 1.3.0-beta01

13 de enero de 2021

Lanzamiento de androidx.appcompat:appcompat:1.3.0-beta01 y androidx.appcompat:appcompat-resources:1.3.0-beta01. La versión 1.3.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Se reemplazaron los elementos de diseño del modo de acción a nivel del tema por fuentes vectoriales. Esto podría provocar cambios ligeros en la apariencia visual de íconos individuales. (I741a6)

Cambios en la API

  • Función arrastrar y soltar (eventos de soltar) en AppCompatEditText con OnReceiveContentListener. (Ib26c9, b/175343405)
  • Se actualizaron OnReceiveContentListener y las API relacionadas. Consulta los cambios de la biblioteca androidx.core para obtener más información. (Ib4616, b/173814913)
  • Se movió el widget .RichContentReceiverCompat a la vista .OnReceiveContentListener. (Ifdab7, b/173814913)
  • Las API para proporcionar y extraer texto inicial adyacente ahora cuentan con portabilidad a versiones anteriores de EditorInfoCompat. Permiten que las apps de IME eviten latencia adicional de IPC. (Ie3809)

Versión 1.3.0-alpha02

19 de agosto de 2020

Lanzamiento de androidx.appcompat:appcompat:1.3.0-alpha02 y androidx.appcompat:appcompat-resources:1.3.0-alpha02. La versión 1.3.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se reemplazaron los elementos de diseño PNG de AppCompatRatingBar por fuentes vectoriales. Esto podría provocar cambios ligeros en la apariencia visual de estrellas individuales. (I6b99d)
  • Se actualizó WindowInsetsCompat a las API de Android 11 (I3df9e).
  • Compatibilidad con lectura de derecha a izquierda (RTL) en elementos de menú con íconos (I2f5c5).

Actualizaciones de dependencias

Versión 1.3.0-alpha01

20 de mayo de 2020

Lanzamiento de androidx.appcompat:appcompat:1.3.0-alpha01 y androidx.appcompat:appcompat-resources:1.3.0-alpha01. La versión 1.3.0-alpha01 contiene estas confirmaciones.

Nuevas funciones

  • Agrega una nueva regla de Lint para marcar llamadas al objeto setActionBar en actividades que extienden el elemento AppCompatActivity.
  • Se agregó compatibilidad para el objeto ViewTreeLifecycleOwner del elemento Lifecycle 2.3.0-alpha01, el objeto ViewTreeViewModelStoreOwner del elemento Lifecycle 2.3.0-alpha03 y el objeto ViewTreeSavedStateRegistryOwner del elemento SavedState 1.1.0-alpha01 cuando se usa un objeto View dentro de un elemento AppCompatActivity. (b/151603528, aosp/1300264)
  • Agrega una API común para insertar contenido enriquecido (p. ej., pegar una imagen). La nueva devolución de llamada proporciona una única API que las apps pueden implementar para admitir las diferentes formas en que se puede insertar contenido enriquecido. Por ahora, la API solo se agrega al elemento AppCompatEditText y se invocará para las siguientes rutas de código:
    • pegar desde el portapapeles
    • insertar contenido desde el IME (InputConnection.commitContent) (I22bf7)

Correcciones de errores

  • Desde AppCompat 1.2.0-rc01: el elemento AppCompat ya no llama al objeto onMenuOpened() con un menú null (b/142843126).
  • Resuelve correctamente el vínculo de texto y los colores de sugerencias en dispositivos más antiguos cuando se llama al objeto TextViewCompat.setTextAppeance con un estilo de apariencia de texto que tiene listas de estados de color y hace referencia a atributos de color del tema (b/154702995).

Versión 1.2.0

Versión 1.2.0

5 de agosto de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0 y androidx.appcompat:appcompat-resources:1.2.0. La versión 1.2.0 contiene estas confirmaciones.

Cambios importantes desde la versión 1.1.0

  • Se corrigió la compatibilidad para casos de uso de anulación de Configuración, incluidas las configuraciones regionales y los ajustes de fuente personalizados. Consulta esta página para ver un ejemplo de cómo implementar correctamente las anulaciones mediante appcompat:1.2.0.
  • AppCompatDelegate.attachBaseContext() quedó obsoleto. Si quieres llamar o anular este método, usa AppCompatDelegate.attachBaseContext2() en su lugar.
  • CollapsibleActionView quedó obsoleto. Ya no se necesita esta interfaz; usa la android.view.CollapsibleActionView que proporciona la plataforma.

Versión 1.2.0-rc02

22 de julio de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0-rc02 y androidx.appcompat:appcompat-resources:1.2.0-rc02. La versión 1.2.0-rc02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error relacionado con el modo nocturno, por el que llamar a AppCompatDelegate.setDefaultNightMode desde un diálogo en ocasiones no recreaba las actividades ni aplicaba el modo nuevo (aosp/1348308, b/158923881).

Versión 1.2.0-rc01

14 de mayo de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0-rc01 y androidx.appcompat:appcompat-resources:1.2.0-rc01. La versión 1.2.0-rc01 contiene estas confirmaciones.

Cambios en la API

  • Se marcó al elemento AppCompatDelegate.setLocalNightMode como que requiere la versión 17 o posterior del SDK debido a un problema de plataforma con cambios de configuración que se filtraba entre actividades en SDK anteriores.

Correcciones de errores

  • Ahora se puede llamar al objeto AppCompatDelegate.setLocalNightMode antes del objeto Activity.attachBaseContext.
  • Se corrigió el consumo de inserciones del elemento ActionBarOverlayLayout que usaba, de manera incorrecta, las inserciones en caché.
  • El elemento AppCompat ya no llama al objeto onMenuOpened() con un menú null (b/142843126).

Versión 1.2.0-beta01

1 de abril de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0-beta01 y androidx.appcompat:appcompat-resources:1.2.0-beta01. La versión 1.2.0-beta01 contiene estas confirmaciones.

Nuevas funciones

  • Se agregaron las siguientes reglas de lint nuevas que marcarán usos incorrectos de AppCompat en las siguientes situaciones:
    • Carga de listas de estados de color: sugiere el uso de las API de ContextCompat y AppCompatResources para retrocompatibilidad
    • Carga de elementos de diseño: Sugiere el uso de las API ContextCompat y ResourcesCompat para retrocompatibilidad
    • Uso de listas de estados de color con el atributo Alfa: Marcas sin el atributo android:alpha que darán lugar a una apariencia incorrecta en algunas versiones de la plataforma
    • Ajuste de tono de las vistas de imágenes: Marcas que no usan app:tint que darán lugar a una apariencia incorrecta en versiones anteriores de la plataforma
    • Uso de elementos de diseño y ajuste de tono compuestos en vistas de texto: Sugiere el uso de API y atributos compatibles para retrocompatibilidad

Correcciones de errores

  • Se corrigió un error por el que ActionBarOverlayLayout (acción de decoración de ventanas) no despachaba correctamente WindowInsets.
  • Se corrigieron errores de ajuste de tono en la apariencia de los elementos de diseño y el texto en versiones anteriores de la plataforma.
  • Se corrigió un error por el que androidx.appcompat:appcompat:1.1.0 falla cuando se mantiene presionado WebView (b/141351441).
  • Se implementaron correcciones para los errores de manipulación del contexto base y recuperación de los servicios del sistema durante el inicio de la actividad

Versión 1.2.0-alpha03

4 de marzo de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0-alpha03 y androidx.appcompat:appcompat-resources:1.2.0-alpha03. La versión 1.2.0-alpha03 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error por el que el protector de estado del modo de acción se extendía a la barra de navegación y tenía un color incorrecto (Ia4a09).
  • Se corrigió un error por el que no se reanudaban las actividades detenidas en el nivel de API 23 o versiones anteriores (I45201).

Versión 1.2.0-alpha02

29 de enero de 2020

Lanzamiento de androidx.appcompat:appcompat:1.2.0-alpha02 y androidx.appcompat:appcompat-resources:1.2.0-alpha02. La versión 1.2.0-alpha02 contiene estas confirmaciones.

Correcciones de errores

  • Se corrigió un error por el que appcompat 1.1.0 falla cuando se mantiene presionado WebView (b/141351441).
  • Se corrigió el ajuste de tono del elemento de diseño en TextView relacionado con elementos de diseño compuestos en el nivel de API 23 (aosp/1172194).
  • Se garantizó que el contexto de la base siempre sea un wrapper (aosp/1194355).
  • Se agregaron algunas mejoras que permiten modificar la configuración del contexto de la base de una manera más inteligente (aosp/1204543).
  • Se inhabilitó createConfigurationContext() para Robolectric (aosp/1186218).

Versión 1.2.0-alpha01

4 de diciembre de 2019

Lanzamiento de androidx.appcompat:appcompat:1.2.0-alpha01 y androidx.appcompat:appcompat-resources:1.2.0-alpha01. La versión 1.2.0-alpha01 contiene estas confirmaciones.

Correcciones de errores

  • Las llamadas a PackageManager.getActivityInfo ya no se bloquean en el modo estricto con las verificaciones de inicio habilitadas.
  • Se corrigió el ajuste de tono de los elementos de diseño en AppCompatButton.
  • Se corrigieron el ajuste de tono y la apariencia del texto en versiones anteriores de la plataforma.

Versión 1.1.0

Versión 1.1.0

5 de septiembre de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0 y androidx.appcompat:appcompat-resources:1.1.0. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Cambios importantes desde 1.0.0

  • Mejoras en el modo oscuro: ahora dejan de estar disponibles MODE_NIGHT_AUTO y el cambio de oscuro/claro según la hora actual. Se considera el uso de una configuración explícita o MODE_NIGHT_AUTO_BATTERY.
  • Actividad 1.0: AppCompatActivity ahora se extiende de manera transitiva desde ComponentActivity de Activity 1.0.0 mediante Fragment 1.1.0. Consulta las notas de la versión asociadas para obtener información acerca de los cambios en cada biblioteca.
  • Constructor AppCompatActivity LayoutId: Ahora las subclases de AppCompatActivity pueden invocar a un constructor en AppCompatActivity para que tome un ID de R.layout e indique el diseño que se debe establecer como vista de contenido como alternativa a invocar a setContentView() en onCreate(). Esto no cambia el requisito de que tu subclase tenga un constructor sin argumentos.

Versión 1.1.0-rc01

2 julio de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0-rc01 y androidx.appcompat:appcompat-resources:1.1.0-rc01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Correcciones de errores

  • DayNight ahora privilegia correctamente a configChanges (aosp/981105).
  • Solo se llama a onConfigurationChanged en las actividades iniciadas (aosp/987483).

Versión 1.1.0-beta01

5 de junio de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0-beta01 y androidx.appcompat:appcompat-resources:1.1.0-beta01. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Correcciones de errores

  • Nos aseguramos de limpiar los receptores en AppCompatDialogs (aosp/959376).
  • Se agregó compatibilidad con buttonGravity=center_vertical en la barra de herramientas (b/130361721).
  • Se corrigió el desplazamiento horizontal del ícono giratorio (b/79477181).

Versión 1.1.0-alpha05

7 de mayo de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0-alpha05 y androidx.appcompat:appcompat-resources:1.1.0-alpha05. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

Correcciones de errores

  • Diversas correcciones en el modo DayNight.
  • Se invalidó el contorno en cualquier cambio de fondo en ActionBar.
  • Se corrigió el desplazamiento del widget del ícono giratorio.
  • Se corrigieron los fondos de ventanas de conjuntos personalizados que se anulaban en AlertDialog.

Versión 1.1.0-alpha04

3 de abril de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0-alpha04 y androidx.appcompat:appcompat-resources:1.1.0-alpha04. Para conocer las confirmaciones incluidas en esta versión, consulta este artículo.

Nuevas funciones

  • Se agregó una nueva familia de temas ThemeOverlay.AppCompat.DayNight, que deberían usarse cuando se utiliza la función DayNight.

Cambios en la API

  • AppCompatActivity ahora contiene un segundo constructor que toma un @LayoutRes int, que a su vez reemplaza el comportamiento anterior de anotar tu clase AppCompatActivity con @ContentView. Este enfoque funciona tanto en la app como en los módulos de las bibliotecas (b/128352521)

Correcciones de errores

  • Se fijaron las dependencias internas en versiones estables, en la medida de lo posible.
  • Se corrigió el desplazamiento de AppCompatSpinner en modo desplegable (b/124274573).
  • Solo se llama a applyOverrideConfiguration() si es necesario para DayNight.

Versión 1.1.0-alpha03

13 de marzo de 2019

Lanzamiento de androidx.appcompat:appcompat:1.1.0-alpha03 y androidx.appcompat:appcompat-resources:1.1.0-alpha03. Esta es la primera versión de appcompat-resources. Para obtener una lista completa de las confirmaciones incluidas en esta versión, consulta este vínculo.

Nuevas funciones

  • La nueva biblioteca appcompat-resources incluye API que permiten que las apps carguen y ajusten el tono de elementos de diseño (incluidas las interfaces dibujables en vector) en versiones anteriores de la plataforma. Esta es la misma funcionalidad que antes formaba parte del módulo appcompat, pero ahora está disponible sin la sobrecarga de portabilidad completa a versiones anteriores de appcompat para material design, que incluye widgets, diálogos, modo nocturno, etc.
  • Correcciones importantes en la compatibilidad con el modo DayNight.
  • Nueva opción MODE_NIGHT_AUTO_BATTERY para el modo DayNight.
  • Ajuste de tono en los elementos de diseño de AppCompatTextView.
  • Ahora se puede dar estilo a la barra de herramientas ampliada con listas de estados de colores temáticos.
  • Ahora se pueden usar colores que hagan referencia a los atributos del tema para los íconos de menú.
  • Se puede configurar el nuevo atributo app:menu en una barra de herramientas para proporcionar el contenido del menú durante el período de aumento.

Correcciones de errores

  • Se corrigió el modo de tono predeterminado en ImageView en la versión 21.
  • Se corrigió el mensaje emergente de descarte incorrecto al rotar el dispositivo.
  • Se corrigió DayNight y ya no respeta configChanges en el manifiesto.
  • Se corrigió el cambio a MODE_NIGHT_FOLLOW_SYSTEM, que no funcionaba (b/111345020).
  • Se corrigió WebView para restablecer los recursos de DayNight (b/37124582).

Versión 1.1.0-alpha02

7 de febrero de 2019

Lanzamiento de androidx.appcompat:appcompat 1.1.0-alpha02.

Nuevas funciones

  • Manejo de elementos de diseño de recursos específicos extraídos en un contenido atractivo (aosp/870976).
  • Se permite que los elementos titleTextColor y subtitleTextColor de la barra de herramientas usen una ColorStateList y agreguen sobrecargas de ColorStateList de los métodos setTitleTextColor y setSubtitleTextColor (aosp/867489).

Correcciones de errores

  • Se corrigió fontFamily, que no funcionaba en niveles de API anteriores a 24 (aosp/807054).
  • Se corrigió un error por el que textFontWeight no funcionaba cuando una actividad se extendía desde AppCompatActivity (aosp/847640).
  • Se corrigió el error que hacía que el texto del título ubicado en la ventana emergente del widget giratorio (cuando se usaba el modo de diálogo) no usara la fuente especificada en fontFamily (aosp/789994).
  • Se corrigió el error que impedía que los widgets AppCompatCheckBox y AppCompatRadioButton pudieran cambiar el tono del fondo (aosp/825160).
  • Se corrigió un error por el que AppCompat no anulaba android: list styles (aosp/862350).

Versión 1.1.0-alpha01

3 de diciembre de 2018

Nuevas funciones

  • AppCompatTextView ahora es compatible con los elementos de diseño compuestos app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat y app:drawableEndCompat, que admiten tipos de elementos de diseño compatibles con versiones anteriores, como VectorDrawableCompat.

  • Los elementos de diseño predeterminados AppCompatCheckBox y AppCompatRadioButton ahora incluyen animaciones de cambios de estado de verificación.

Cambios en la API

  • aosp/740385: ActionBarOverlayLayout ahora implementa NestedScrollingParent2 y NestedScrollingParent3, lo que le permite implementar con facilidad la funcionalidad más reciente en el desplazamiento anidado 3. Si, por el momento, el código del desarrollador anula ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), es probable que ya no se llame a dicho elemento, por lo que se debería anular ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]).

Versión 1.0.2

Versión 1.0.2

7 de noviembre de 2018

Lanzamiento de corrección de errores de core-1.0.1 y appcompat-1.0.2.

Correcciones de errores

  • Se corrigió el error por el que PrecomputedTextCompat fallaba cuando se usaba con AppCompatTextView con compatibilidad para escritura de derecha a izquierda (RTL) (b/113070424).

Versión 1.0.0

Versión 1.0.0

7 de noviembre de 2018

Nuevas funciones