Appcompat

Consente l'accesso a nuove API su versioni precedenti dell'API della piattaforma (molte delle quali utilizzano Material Design).
Ultimo aggiornamento Release stabile Candidato per la release Release beta Release alpha
8 aprile 2026 1.7.1 - - 1.8.0-alpha01

Dichiara le dipendenze

Per aggiungere una dipendenza da Appcompat, devi aggiungere il repository Maven di Google al tuo progetto. Per saperne di più, consulta il repository Maven di Google.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per la tua app o il tuo modulo:

Alla moda

dependencies {
    def appcompat_version = "1.7.1"

    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.1"

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

Per saperne di più sulle dipendenze, consulta Aggiungere dipendenze di build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di segnalare un nuovo problema, dai un'occhiata ai problemi esistenti in questa raccolta. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per saperne di più, consulta la documentazione di Issue Tracker.

Versione 1.8

Versione 1.8.0-alpha01

8 aprile 2026

androidx.appcompat:appcompat:1.8.0-alpha01 e androidx.appcompat:appcompat-resources:1.8.0-alpha01 sono state rilasciate. La versione 1.8.0-alpha01 contiene questi commit.

Modifiche alle API

  • Rimozione delle annotazioni @RequiresApi(21) obsolete (I44f33)
  • Nuova API TextAppearanceSpanCompat per l'utilizzo della funzionalità di caratteri scaricabili (I9c1c8, b/197242546, b/393805627)

Correzioni di bug

  • Spostamento di minSdk predefinito dall'API 21 all'API 23 (Ibdfca, b/380448311, b/435705964, b/435705223)
  • AppCompat è stato aggiornato per utilizzare Activity 1.8.0, in modo da poter utilizzare l'API initializeViewTreeOwners() di ComponentActivity e garantire che abbia sempre impostato il valore ViewTreeOwners corretto. (I96919, b/419208471)
  • Perfeziona ActionBarContextView e AppCompatDelegateImpl (Ia83b3)
  • Questa libreria ora utilizza le annotazioni di nullabilità JSpecify, che sono di tipo use. Gli sviluppatori Kotlin devono utilizzare i seguenti argomenti del compilatore per garantire un utilizzo corretto: -Xjspecify-annotations=strict, -Xtype-enhancement-improvements-strict-mode (Id9081, b/326456246)
  • Imposta il titolo della finestra di AlertDialogs per scopi di accessibilità (I8bbdd, b/347729115)
  • È stata rimossa la definizione manuale dell'accesso alle nuove API della piattaforma, poiché avviene automaticamente tramite la modellazione delle API quando si utilizza R8 con AGP 7.3 o versioni successive (ad es. R8 versione 3.3) e per tutte le build quando si utilizza AGP 8.1 o versioni successive (ad es. D8 versione 8.1). I client che non utilizzano AGP sono invitati a eseguire l'aggiornamento alla versione 8.1 o successive di D8. Consulta questo articolo per ulteriori dettagli. (I9496c, b/345472586)
  • Imposta correttamente fontVariationSettings da textAppearance in AppCompat visualizzazioni. (I20d06, b/264321145)
  • Invia modifiche alla configurazione in AppCompatActivity all'albero delle visualizzazioni (Ibece8, b/321896385)
  • I progetti rilasciati con Kotlin 2.0 richiedono l'utilizzo di KGP 2.0.0 o versioni successive (Idb6b5, b/344563182)
  • È stato corretto il calcolo dell'altezza della barra degli strumenti in modo da includere i margini verticali del titolo/sottotitolo (Ia5846, b/267200424)

Versione 1.7

Versione 1.7.1

4 giugno 2025

androidx.appcompat:appcompat:1.7.1 e androidx.appcompat:appcompat-resources:1.7.1 sono state rilasciate. La versione 1.7.1 contiene questi commit.

Correzioni di bug

  • AppCompat è stato aggiornato per utilizzare Activity 1.8.0, in modo da poter utilizzare l'API initializeViewTreeOwners() di ComponentActivity e garantire che abbia sempre impostato il valore ViewTreeOwners corretto. Questo problema risolve un'incompatibilità tra AppCompatActivity e NavigationEvent e le librerie che si basano su di esso, come Navigation 3. (I96919, b/419208471)

Versione 1.7.0

29 maggio 2024

androidx.appcompat:appcompat:1.7.0 e androidx.appcompat:appcompat-resources:1.7.0 sono state rilasciate. La versione 1.7.0 contiene questi commit.

Modifiche importanti dalla versione 1.6.0

  • AppCompatDialog ora imposta correttamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner nella decorazione della finestra di dialogo tramite le API ViewTree, risolvendo i problemi durante l'hosting di un ComposeView all'interno di un AppCompatDialog.
  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo che sia possibile recuperare il dispatcher dalla visualizzazione.
  • Miglioramento significativo delle prestazioni di SupportMenuInflater.
  • Ora Locale.getDefault() restituisce le impostazioni internazionali del sistema dopo un riavvio a freddo.
  • LinearLayoutCompat ora conserva i parametri di layout dei margini.

Aggiornamenti delle dipendenze

  • AppCompat ora dipende da Activity 1.7.0.
  • AppCompat ora dipende dalla versione 1.5.4 di Fragment.

Versione 1.7.0-rc01

14 maggio 2024

androidx.appcompat:appcompat:1.7.0-rc01 e androidx.appcompat:appcompat-resources:1.7.0-rc01 sono state rilasciate. La versione 1.7.0-rc01 contiene questi commit.

Versione 1.7.0-beta01

1° maggio 2024

androidx.appcompat:appcompat:1.7.0-beta01 e androidx.appcompat:appcompat-resources:1.7.0-beta01 sono state rilasciate. La versione 1.7.0-beta01 contiene questi commit.

Versione 1.7.0-alpha03

26 luglio 2023

androidx.appcompat:appcompat:1.7.0-alpha03 e androidx.appcompat:appcompat-resources:1.7.0-alpha03 sono state rilasciate. La versione 1.7.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Supporto per ottenere impostazioni internazionali per app in contesti non Activity (I58e753). Per questa funzionalità sono state aggiunte quattro nuove API:

    • LocaleManagerCompat.getApplicationLocales(): per consentire agli sviluppatori di ottenere impostazioni internazionali per app al di fuori dell'ambito dell'attività.

    • ContextCompat.getString(): restituisce stringhe localizzate in base alle impostazioni internazionali per app.

    • ContextCompat.getContextForLanguage(): il contesto restituito da questo metodo rispetterà le impostazioni internazionali per app.

    • ConfigurationCompat.setLocales(): per le API precedenti, per impostare le impostazioni internazionali della configurazione.

Altre modifiche alle API

  • Aggiunta di setLineHeight(unit, lineHeight) alle classi di compatibilità TextView (Ia9fa9)
  • Aggiunto setLineHeight(unit, lineHeight) alle classi compatibili con TextView (Ib2ee1)
  • Aggiunta di setLineHeight(unit, lineHeight) alle classi compatibili con TextView (I15716)

Correzioni di bug

  • AppCompatDialog ora imposta correttamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner nella decorazione della finestra di dialogo tramite le API ViewTree, risolvendo i problemi durante l'hosting di un ComposeView all'interno di un AppCompatDialog. AppCompat ora dipende da Activity 1.7.0. (Ib28ab, b/261314581)
  • Migliorare significativamente il rendimento di SupportMenuInflater (I0b087)

Versione 1.7.0-alpha02

8 febbraio 2023

androidx.appcompat:appcompat:1.7.0-alpha02 e androidx.appcompat:appcompat-resources:1.7.0-alpha02 sono state rilasciate. La versione 1.7.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stata corretta una perdita di memoria in AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)
  • AppCompat ora dipende dalla versione 1.5.4 di Fragment (I54dcd)

Versione 1.7.0-alpha01

5 ottobre 2022

androidx.appcompat:appcompat:1.7.0-alpha01 e androidx.appcompat:appcompat-resources:1.7.0-alpha01 sono state rilasciate. La versione 1.7.0-alpha01 contiene questi commit.

Correzioni di bug

  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo che sia possibile recuperare il dispatcher dalla visualizzazione. (I1a115, b/235416503)
  • Locale.getDefault() ora restituisce le impostazioni internazionali del sistema dopo un avvio a freddo (I6a94b)
  • LinearLayoutCompat ora conserva i parametri di layout del margine (Id2af4)

Versione 1.6.1

Versione 1.6.1

8 febbraio 2023

androidx.appcompat:appcompat:1.6.1 e androidx.appcompat:appcompat-resources:1.6.1 sono state rilasciate. La versione 1.6.1 contiene questi commit.

Correzioni di bug

  • È stata corretta una perdita di memoria in AppCompatDelegate.getLocaleManagerForApplication() (44b57fd)

Versione 1.6.0

Versione 1.6.0

11 gennaio 2023

androidx.appcompat:appcompat:1.6.0 e androidx.appcompat:appcompat-resources:1.6.0 sono state rilasciate. La versione 1.6.0 contiene questi commit.

Modifiche importanti dalla versione 1.5.0

  • Aggiunto il supporto per la personalizzazione delle impostazioni internazionali dell'applicazione. Per saperne di più, consulta AppCompatDelegate.setApplicationLocales(LocaleListCompat). Fornisce la compatibilità con le versioni precedenti per la nuova API per le preferenze per lingua disponibile in Android 13.
  • Aggiornamenti del supporto di valori null in linea con l'SDK Android 13 (Tiramisu, livello API 33).
  • Aggiunte classi di compatibilità DrawableWrapper, DrawableContainer e StateListDrawable alla superficie API pubblica

Versione 1.6.0-rc01

7 settembre 2022

androidx.appcompat:appcompat:1.6.0-rc01 e androidx.appcompat:appcompat-resources:1.6.0-rc01 sono state rilasciate. La versione 1.6.0-rc01 contiene questi commit.

Correzioni di bug

  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo che sia possibile recuperare il dispatcher dalla visualizzazione. (I1a115, b/235416503)
  • È stato ripristinato un bug fix che sovrascriveva la configurazione passata a onConfigurationChanged, il che aveva causato problemi per i test che inserivano le proprie configurazioni personalizzate tramite onConfigurationChanged.

Versione 1.6.0-beta01

10 agosto 2022

androidx.appcompat:appcompat:1.6.0-beta01 e androidx.appcompat:appcompat-resources:1.6.0-beta01 sono state rilasciate. La versione 1.6.0-beta01 contiene questi commit.

Modifiche alle API

  • Sposta le classi di compatibilità DrawableWrapper, DrawableContainer e StateListDrawable nell'API pubblica. (I37f3e, b/227789566)
  • Introduce una nuova factory per l'inflater di layout asincrono. (Ia657b)

Correzioni di bug

  • Toolbar ora chiamerà onPrepareMenu() prima che venga visualizzato il menu, anziché in modo incondizionato quando viene creato il menu. (I2a58d, b/232206677)
  • AppCompat ora dipende esplicitamente da Lifecycle 2.5.1 e SavedState 1.2.0. (I7e3e2)
  • È stato aggiunto il supporto per il callback richiamato indietro a AppCompatDelegate e l'implementazione della barra degli strumenti fornita da AppCompat. (I24062)
  • Finalizza le API per la versione 1.5.0-beta01 (I2a43d, b/236866227)AppCompat
  • Finalizza le API per la versione 1.5.0-beta01 (I2a43d, b/236866227)AppCompat

Versione 1.6.0-alpha05

15 giugno 2022

androidx.appcompat:appcompat:1.6.0-alpha05 e androidx.appcompat:appcompat-resources:1.6.0-alpha05 sono state rilasciate. La versione 1.6.0-alpha05 è stata sviluppata in un ramo di pre-release privato e non ha commit pubblici.

Modifiche alle API

  • Aggiornamenti della nullabilità per allinearsi alla superficie API finalizzata nell'SDK Tiramisu Beta 3
  • minCompileSdk ora è 33 in linea con l'SDK Tiramisu Beta 3

Versione 1.6.0-alpha04

18 maggio 2022

androidx.appcompat:appcompat:1.6.0-alpha04 e androidx.appcompat:appcompat-resources:1.6.0-alpha04 sono state rilasciate. Questa libreria è stata sviluppata in base a un ramo privato pre-release, pertanto non è disponibile alcun log dei commit.

Modifiche alle API

  • Aggiungi un'API per ignorare la limitazione della larghezza di SwitchCompat per l'utilizzo da parte di MDC-Android

Correzioni di bug

  • Evita la configurazione gestita quando le modifiche alla configurazione vengono apportate al di fuori di attachBaseConfig

Versione 1.6.0-alpha03

27 aprile 2022

androidx.appcompat:appcompat:1.6.0-alpha03 e androidx.appcompat:appcompat-resources:1.6.0-alpha03 sono state rilasciate.

Questa versione richiede la compilazione di Android 13 Beta 1 e non è garantito che sia compatibile in fase di runtime con le future anteprime per gli sviluppatori.

Nuove funzionalità

  • Supporto della selezione della lingua personalizzata a livello di app tramite AppCompatDelegate.setApplicationLocales(). Delega l'implementazione della piattaforma sull'API 33 e versioni successive.

Versione 1.6.0-alpha01

23 febbraio 2022

androidx.appcompat:appcompat:1.6.0-alpha01 e androidx.appcompat:appcompat-resources:1.6.0-alpha01 sono state rilasciate. La versione 1.6.0-alpha01 è stata creata da un ramo interno e non contiene commit visibili pubblicamente.

Questa versione richiede Android Tiramisu DP1 per la compilazione e non è garantita la compatibilità di runtime con le future anteprime per sviluppatori.

Nuove funzionalità

  • Aggiunto il supporto per la personalizzazione delle impostazioni internazionali dell'applicazione. Consulta AppCompatDelegate.setApplicationLocales(LocaleListCompat) per saperne di più. Fornisce la compatibilità con le versioni precedenti per la nuova API per le preferenze per lingua disponibile in Android 13.

Versione 1.5.1

Versione 1.5.1

7 settembre 2022

androidx.appcompat:appcompat:1.5.1 e androidx.appcompat:appcompat-resources:1.5.1 sono state rilasciate. La versione 1.5.1 contiene questi commit.

Aggiornamenti delle dipendenze

Versione 1.5.0

Versione 1.5.0

10 agosto 2022

androidx.appcompat:appcompat:1.5.0 e androidx.appcompat:appcompat-resources:1.5.0 sono state rilasciate. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

  • Questa versione stabile include miglioramenti alla stabilità della modalità notturna, correzioni di bug e supporto della colorazione dei drawables composti per i widget di testo basati su AppCompat, nonché miglioramenti all'usabilità delle API. Per un elenco dettagliato delle modifiche, consulta le note di rilascio precedenti della serie 1.5.0.

Versione 1.5.0-rc01

27 luglio 2022

androidx.appcompat:appcompat:1.5.0-rc01 e androidx.appcompat:appcompat-resources:1.5.0-rc01 sono state rilasciate. La versione 1.5.0-rc01 contiene questi commit.

Correzioni di bug

  • Risolve un problema per cui il wrapper del contesto di AppCompat riutilizzava l'implementazione della risorsa di supporto del contesto dell'applicazione, causando la sovrascrittura di uiMode nel contesto dell'applicazione. (Idf9d5)

Versione 1.5.0-beta01

13 luglio 2022

androidx.appcompat:appcompat:1.5.0-beta01 e androidx.appcompat:appcompat-resources:1.5.0-beta01 sono state rilasciate. La versione 1.5.0-beta01 contiene questi commit.

Modifiche alle API

  • Aggiungi un flag sostituibile per disattivare la regolazione della larghezza predefinita dell'interruttore. (I37cb7)
  • Aggiungi l'annotazione @FloatRange all'API per ottenere la posizione della miniatura (If524c)
  • Aggiungi annotazioni di nullabilità mancanti a AnimatedStateListDrawableCompat (Ieb4ec)

Correzioni di bug

  • Finalizza le API per la versione 1.5.0-beta01 (I2a43d, b/236866227)AppCompat
  • Modifica del valore di className per ActionMenuItemView in modo che venga trattato come Button (I5ee1c)

Versione 1.5.0-alpha01

6 aprile 2022

androidx.appcompat:appcompat:1.5.0-alpha01 e androidx.appcompat:appcompat-resources:1.5.0-alpha01 sono state rilasciate. La versione 1.5.0-alpha01 contiene questi commit.

Modifiche alle API

  • È stata aggiunta una nuova API per esporre la posizione del cursore dell'interruttore alle sottoclassi (I9bfb4)
  • Aggiornamento del supporto di valori null in modo che corrisponda a Tiramisu DP2 (I0cbb7)
  • È stato eseguito il backporting della colorazione dei drawables composti ai widget derivati da TextView (Idf98c, b/165822337)
  • AppCompatDialog ora estende ComponentDialog per la compatibilità con OnBackPressedDispatcher (Id9b91, b/217620781)
  • SearchView.onQueryRefine() ora ha visibilità protetta per consentire gli override (I6cce0, b/212882845)

Correzioni di bug

  • AppCompat Toolbar ora chiama l'API onPrepareMenu() di MenuHostHelper. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText non reimposteranno più clickable o longClickable nel costruttore se impostati in XML (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView non chiameranno setKeyListener sottoposto a override durante il costruttore (I5c13a, b/208480173)
  • Appcompat non eseguirà il wrapping delle istanze di NumberKeyListener passate a setKeyListener, consentendo a TextView di configurare correttamente le impostazioni internazionali su NumberKeyListeners (Ibf113, b/207119921)
  • È stato risolto un problema relativo a tutte le sottoclassi NumberKeyListener introdotte in AppCompat 1.4.0 che consentivano l'inserimento di caratteri imprevisti come la punteggiatura (Iede7a, b/207119921)

Versione 1.4.2

Versione 1.4.2

1° giugno 2022

androidx.appcompat:appcompat:1.4.2 e androidx.appcompat:appcompat-resources:1.4.2 sono state rilasciate. La versione 1.4.2 contiene questi commit.

Correzioni di bug

  • È stato corretto l'arresto anomalo in cui AppCompatDelegateImpl ha effettuato una chiamata interna a ensureSubDecor prima della creazione della barra delle azioni (aosp/2048349, b/226648941)

Versione 1.4.1

12 gennaio 2022

androidx.appcompat:appcompat:1.4.1 e androidx.appcompat:appcompat-resources:1.4.1 sono state rilasciate. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView non chiameranno l'override setKeyListener durante il costruttore. (I5c13a, b/208480173)
  • Emoji2 non eseguirà il wrapping delle istanze di NumberKeyListener, consentendo la configurazione delle impostazioni internazionali da parte di TextView.
    • Appcompat non eseguirà il wrapping delle istanze di NumberKeyListener passate a setKeyListener, consentendo a TextView di configurare correttamente le impostazioni internazionali su NumberKeyListeners. (Ibf113, b/207119921)
  • È stato risolto un problema con tutte le sottoclassi NumberKeyListener introdotte in appcompat 1.4.0 che consentivano l'inserimento di caratteri imprevisti come la punteggiatura (b/207119921) (Iede7a, b/207119921)

Versione 1.4.0

Versione 1.4.0

17 novembre 2021

androidx.appcompat:appcompat:1.4.0 e androidx.appcompat:appcompat-resources:1.4.0 sono state rilasciate. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

  • La libreria ora ha come target il livello di linguaggio Java 8
  • Il supporto delle emoji aggiornabili è attivato per impostazione predefinita tramite la libreria androidx.emoji2
  • Ispezione degli attributi migliorata in Layout Inspector di Android Studio (I02d55)
  • È stato aggiunto il supporto per le risorse colorate nidificate e i drawables vettoriali nei backport del caricamento delle risorse AppCompat. Tieni presente, tuttavia, che ciò significa che le app non possono eseguire l'override di getDrawable() su un oggetto Resources personalizzato quando sono attivati i backport. (Ia6b03, b/176129022)
  • È stato eseguito il backporting dello sfondo colorabile e del segno di spunta per CheckedTextView (I8575c)

Versione 1.4.0-rc01

27 ottobre 2021

androidx.appcompat:appcompat:1.4.0-rc01 e androidx.appcompat:appcompat-resources:1.4.0-rc01 sono state rilasciate. La versione 1.4.0-rc01 contiene questi commit.

Versione 1.4.0-beta01

29 settembre 2021

androidx.appcompat:appcompat:1.4.0-beta01 e androidx.appcompat:appcompat-resources:1.4.0-beta01 sono state rilasciate. La versione 1.4.0-beta01 contiene questi commit.

Modifiche alle API

  • AndroidX AppCompat Toolbar ora è un MenuHost e può gestire MenuProvider. (I5cd95)

Correzioni di bug

  • È stata corretta la gestione di AppCompatProgressBar delle barre di avanzamento layer-list (I6ece3, b/142004509)
  • Conserva correttamente android:digits in AppCompatEditText. In questo modo viene corretto il bug 193047889 introdotto in AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • SDK OnReceiveContentListener integrato e API della libreria di supporto. (Ic6914, b/173814913)

Versione 1.4.0-alpha03

30 giugno 2021

androidx.appcompat:appcompat:1.4.0-alpha03 e androidx.appcompat:appcompat-resources:1.4.0-alpha03 sono state rilasciate. La versione 1.4.0-alpha03 contiene questi commit.

Nuove funzionalità

  • La libreria ora ha come target il livello di linguaggio Java 8
  • Aggiungi il supporto di emoji2 per altre sottoclassi di TextView (AppCompatMultiAutoCompleteTextView, AppCompatAutoCompleteTextView, AppCompatRadioButton, AppCompatCheckBox).

Modifiche alle API

  • È stata aggiunta un'API per configurare un InputConnection in modo da utilizzare View.performReceiveContent per gestire le chiamate IME a InputConnection.commitContent. (I3a2ad)
  • Aggiungi il supporto di EmojiCompat a AppCompatMultiAutoCompleteTextView (Ifece0)
  • Aggiunta del supporto di EmojiCompat a AppCompatAutoCompleteTextView (Ia1f4b)
  • Aggiungi il supporto di EmojiCompat a AppCompatRadioButton (If08af)
  • Aggiunta del supporto per EmojiCompat a AppCompatCheckBox (I2b3bc)
  • Consenti KeyListener null in AppCompatEditText. In questo modo viene invertita l'annotazione non nulla aggiunta ad AppCompatEditText nella versione 1.4-alpha01 e viene ripristinato il comportamento precedente quando viene passato un valore nullo. (I21482, b/189559345)
  • Aggiungi PopupMenu.setForceShowIcon per la parità con le API della piattaforma (I43bb3, b/182789798)

Correzioni di bug

  • Correzione del bug in AppCompatEditText che reimposta inputType specificato in XML per rimuovere le varianti. Questo bug è stato introdotto in AppCompat 1.4.0-alpha01. (I9df36, b/191061070)

Versione 1.4.0-alpha02

2 giugno 2021

androidx.appcompat:appcompat:1.4.0-alpha02 e androidx.appcompat:appcompat-resources:1.4.0-alpha02 sono state rilasciate. La versione 1.4.0-alpha02 contiene questi commit.

Modifiche alle API

  • Aggiunta del costruttore AppCompatDialogFragment che accetta un ID layout (Icbf22, b/188119987)
  • Supporto migliorato di Layout Inspector (I02d55)
  • Il pacchetto in emoji2-views-helper è stato rinominato in androidx.emoji2.viewsintegration. Si tratta di una modifica che causa interruzioni per AppCompat 1.4.0-alpha01 e le app devono assicurarsi che la dipendenza AppCompat venga aggiornata per utilizzare la nuova versione di emoji2. (Ie8397)

Correzioni di bug

  • È stato risolto il problema per cui le attività interrotte non ricevevano modifiche alla configurazione dalle modifiche alla modalità buio strumentata da AppCompat. (I8fa8f, b/188681415)
  • È stato corretto un bug in AppCompatEditText che causava la messa a fuoco delle visualizzazioni anche quando android:focusable="false" era specificato nel file XML (bug introdotto in AppCompat 1.4.0-alpha01) (Ib9412)

Versione 1.4.0-alpha01

18 maggio 2021

androidx.appcompat:appcompat:1.4.0-alpha01 e androidx.appcompat:appcompat-resources:1.4.0-alpha01 sono state rilasciate. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche alle API

  • È stato integrato il supporto di EmojiCompat in una serie di widget AppCompat (Id409b, If7a1a, Ic262d, Ib5f4a, I4fb3c)
  • È stato aggiunto il supporto per le risorse colorate nidificate e i drawables vettoriali nei backport del caricamento delle risorse AppCompat. Tieni presente, tuttavia, che ciò significa che le app non possono ignorare getDrawable() in un oggetto Risorse personalizzato quando sono abilitati i backport. (Ia6b03, b/176129022)
  • Supporto migliorato di Layout Inspector (I6d771)

Correzioni di bug

  • È stato corretto uno scenario in cui la chiamata a setSupportActionBar dopo l'impostazione del callback della finestra sovrascriveva il callback. (Ie43ee, b/186791590)
  • È stata aggiunta una soluzione alternativa per un problema relativo agli SDK 29 e 30 in cui le risorse ColorStateListDrawable clonate dalla cache delle risorse drawable non caricano un colore predefinito finché non ricevono una modifica dello stato. (Iedb4b)
  • Evita NPE durante la gestione dei callback della modalità di azione di selezione personalizzata null sulle visualizzazioni basate su AppCompat. (I033c7, b/173435375)

Aggiornamenti delle dipendenze

Contributo esterno

  • Porta il colore di sfondo e il segno di spunta per CheckedTextView (I8575c)

Versione 1.3.1

Versione 1.3.1

21 luglio 2021

androidx.appcompat:appcompat:1.3.1 e androidx.appcompat:appcompat-resources:1.3.1 sono state rilasciate. La versione 1.3.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • Ora AppCompat dipende da Activity 1.2.4 e Fragment 1.3.6, pertanto le correzioni di queste release sono incluse per impostazione predefinita quando si utilizza AppCompat 1.3.1. (I8fbec)

Versione 1.3.0

Versione 1.3.0

18 maggio 2021

androidx.appcompat:appcompat:1.3.0 e androidx.appcompat:appcompat-resources:1.3.0 sono state rilasciate. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • Propagazione corretta degli attributi android:theme nei layout <include>d sui dispositivi pre-Lollipop
  • Riduzione delle dimensioni della libreria grazie alla conversione di molte risorse PNG in VectorDrawable
  • È stato aggiunto il supporto per gli eventi di trascinamento a AppCompatEditText con OnReceiveContentListener
  • Aggiornato per supportare le modifiche alla gestione degli insetti della finestra di Android 11
  • Aggiunto il supporto per la direzione da destra a sinistra nelle voci di menu con icone
  • Aggiunto il supporto per l'inserimento di contenuti avanzati (ad es. l'incollatura di un'immagine) in AppCompatEditText

  • Dipendenze aggiornate: appcompat ha aggiornato molte delle sue dipendenze transitive per supportare nuove funzionalità e correzioni:

Versione 1.3.0-rc01

24 marzo 2021

androidx.appcompat:appcompat:1.3.0-rc01 e androidx.appcompat:appcompat-resources:1.3.0-rc01 sono state rilasciate. La versione 1.3.0-rc01 contiene questi commit.

Correzioni di bug

  • Impedisce la revoca prematura delle autorizzazioni durante la gestione dell'inserimento di contenuti IME

Aggiornamenti delle dipendenze

Contributo esterno

  • Propagazione corretta dell'attributo android:theme nei layout <include>d sui dispositivi pre-Lollipop (Simon Bergner di Opera)

Versione 1.3.0-beta01

13 gennaio 2021

androidx.appcompat:appcompat:1.3.0-beta01 e androidx.appcompat:appcompat-resources:1.3.0-beta01 sono state rilasciate. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • Le risorse disegnabili della modalità azione a livello di tema sono state sostituite da origini vettoriali. Ciò potrebbe causare lievi modifiche all'aspetto visivo delle singole icone. (I741a6)

Modifiche alle API

  • Trascinamento integrato (eventi di rilascio) in AppCompatEditText con OnReceiveContentListener. (Ib26c9, b/175343405)
  • OnReceiveContentListener e API correlate aggiornate. Per maggiori dettagli, consulta le modifiche alla libreria androidx.core. (Ib4616, b/173814913)
  • È stato spostato widget.RichContentReceiverCompat in view.OnReceiveContentListener. (Ifdab7, b/173814913)
  • Le API per fornire e recuperare il testo circostante iniziale sono state sottoposte a backporting a EditorInfoCompat. Consentono alle app IME di evitare ulteriore latenza IPC. (Ie3809)

Versione 1.3.0-alpha02

19 agosto 2020

androidx.appcompat:appcompat:1.3.0-alpha02 e androidx.appcompat:appcompat-resources:1.3.0-alpha02 sono state rilasciate. La versione 1.3.0-alpha02 contiene questi commit.

Correzioni di bug

  • Le risorse disegnabili PNG AppCompatRatingBar sono state sostituite da origini vettoriali. Ciò potrebbe causare lievi modifiche all'aspetto visivo delle singole stelle. (I6b99d)
  • Aggiorna WindowInsetsCompat alle API Android 11 (I3df9e)
  • Supporto della direzione da destra a sinistra nelle voci di menu con icone (I2f5c5)

Aggiornamenti delle dipendenze

  • AppCompat ha aggiornato la sua dipendenza da Fragment 1.1.0 a Fragment 1.3.0-alpha08. Ti consigliamo vivamente di leggere le note di rilascio di Fragment 1.2.0 per comprendere le principali modifiche introdotte nella versione precedente di Fragment.
  • AppCompat ha aggiornato la sua dipendenza da Activity 1.0.0 ad Activity 1.2.0-alpha08. Ti consigliamo vivamente di leggere le note di rilascio di Activity 1.1.0 per comprendere le principali modifiche introdotte nella versione precedente di Activity.
    • AppCompatActivity ora utilizza l'API OnContextAvailableListener introdotta in Activity 1.2.0-alpha08 per configurare AppCompatDelegate. Tutti i listener aggiunti alle sottoclassi di AppCompatActivity verranno eseguiti dopo questo listener. (I513da)

Versione 1.3.0-alpha01

20 maggio 2020

androidx.appcompat:appcompat:1.3.0-alpha01 e androidx.appcompat:appcompat-resources:1.3.0-alpha01 sono state rilasciate. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiungi una nuova regola Lint per segnalare le chiamate a setActionBar nelle attività che estendono AppCompatActivity
  • È stato aggiunto il supporto per ViewTreeLifecycleOwner da Lifecycle 2.3.0-alpha01, ViewTreeViewModelStoreOwner da Lifecycle 2.3.0-alpha03 e ViewTreeSavedStateRegistryOwner da SavedState 1.1.0-alpha01 quando si utilizza un View all'interno di un AppCompatActivity. (b/151603528, aosp/1300264)
  • Aggiungi un'API comune per l'inserimento di contenuti avanzati (ad es. l'incollatura di un'immagine). Il nuovo callback fornisce una singola API che le app possono implementare per supportare i diversi modi in cui è possibile inserire contenuti avanzati. Per il momento, l'API viene aggiunta solo a AppCompatEditText e verrà richiamata per i seguenti percorsi di codice:
    • incollare dagli appunti
    • inserimento di contenuti dall'IME (InputConnection.commitContent) (I22bf7)

Correzioni di bug

  • Da AppCompat 1.2.0-rc01: AppCompat non chiama più onMenuOpened() con un menu null. (b/142843126)
  • Risoluzione corretta dei colori dei suggerimenti e dei link di testo sui dispositivi meno recenti quando viene chiamato TextViewCompat.setTextAppearance con uno stile di aspetto del testo che include elenchi di stati di colore che fanno riferimento agli attributi di colore del tema (b/154702995)

Versione 1.2.0

Versione 1.2.0

5 agosto 2020

androidx.appcompat:appcompat:1.2.0 e androidx.appcompat:appcompat-resources:1.2.0 sono state rilasciate. La versione 1.2.0 contiene questi commit.

Modifiche principali dalla versione 1.1.0

  • È stato corretto il supporto per i casi d'uso di sostituzione della configurazione, inclusi i parametri internazionali e le scale dei caratteri personalizzati. Consulta questa pagina per un esempio di come implementare correttamente gli override utilizzando appcompat:1.2.0.
  • AppCompatDelegate.attachBaseContext() deprecato. Se stai chiamando o eseguendo l'override di questo metodo, utilizza AppCompatDelegate.attachBaseContext2().
  • CollapsibleActionView deprecato. Questa interfaccia non è più necessaria, utilizza l'interfaccia android.view.CollapsibleActionView fornita dalla piattaforma.

Versione 1.2.0-rc02

22 luglio 2020

androidx.appcompat:appcompat:1.2.0-rc02 e androidx.appcompat:appcompat-resources:1.2.0-rc02 sono state rilasciate. La versione 1.2.0-rc02 contiene questi commit.

Correzioni di bug

  • Risolto un problema relativo alla modalità notturna per cui la chiamata di AppCompatDelegate.setDefaultNightMode da una finestra di dialogo a volte non riusciva a ricreare le attività e ad applicare la nuova modalità. (aosp/1348308, b/158923881)

Versione 1.2.0-rc01

14 maggio 2020

androidx.appcompat:appcompat:1.2.0-rc01 e androidx.appcompat:appcompat-resources:1.2.0-rc01 sono state rilasciate. La versione 1.2.0-rc01 contiene questi commit.

Modifiche alle API

  • AppCompatDelegate.setLocalNightMode è stato contrassegnato come richiedente la versione 17 o successive dell'SDK a causa di un problema della piattaforma con la perdita di modifiche alla configurazione tra le attività nelle versioni precedenti dell'SDK

Correzioni di bug

  • AppCompatDelegate.setLocalNightMode ora può essere chiamato prima di Activity.attachBaseContext
  • È stato corretto il consumo degli inset ActionBarOverlayLayout, che utilizzava in modo errato gli inset memorizzati nella cache
  • AppCompat non chiama più onMenuOpened() con un menu null. (b/142843126)

Versione 1.2.0-beta01

1° aprile 2020

androidx.appcompat:appcompat:1.2.0-beta01 e androidx.appcompat:appcompat-resources:1.2.0-beta01 sono state rilasciate. La versione 1.2.0-beta01 contiene questi commit.

Nuove funzionalità

  • Sono state aggiunte le seguenti nuove regole di lint che segnaleranno utilizzi errati di AppCompat nei seguenti scenari:
    • Caricamento degli elenchi di stati dei colori: suggerisce di utilizzare le API ContextCompat e AppCompatResources per la compatibilità con le versioni precedenti
    • Caricamento di risorse disegnabili: suggerisce di utilizzare le API ContextCompat e ResourcesCompat per la compatibilità con le versioni precedenti
    • Utilizzo di elenchi di stati di colore con l'attributo alpha: contrassegna l'attributo android:alpha mancante che comporterà un aspetto errato in alcune versioni della piattaforma
    • Visualizzazioni delle immagini con colorazione: flag che non utilizzano app:tint e che comporteranno un aspetto errato nelle versioni precedenti della piattaforma
    • Utilizzo di drawables composti e colorazione nelle visualizzazioni di testo: suggerisce di utilizzare attributi e API compatibili per la compatibilità con le versioni precedenti

Correzioni di bug

  • Risolto un problema per cui ActionBarOverlayLayout (azione di decorazione della finestra) non inviava correttamente WindowInsets.
  • Sono stati risolti i problemi relativi alla colorazione delle risorse disegnabili e all'aspetto del testo nelle versioni precedenti della piattaforma
  • È stato risolto un problema a causa del quale androidx.appcompat:appcompat:1.1.0 causa l'arresto anomalo di WebView quando viene premuto a lungo (b/141351441)
  • Sono state implementate correzioni per i problemi relativi alla manipolazione del contesto di base e al recupero dei servizi di sistema durante l'avvio dell'attività

Versione 1.2.0-alpha03

4 marzo 2020

androidx.appcompat:appcompat:1.2.0-alpha03 e androidx.appcompat:appcompat-resources:1.2.0-alpha03 sono state rilasciate. La versione 1.2.0-alpha03 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui la protezione dello stato della modalità Azione si estende erroneamente nella barra di navigazione e ha il colore sbagliato (Ia4a09).
  • Risolto il problema per cui le attività interrotte non venivano riprese nel livello API 23 e precedenti (I45201)

Versione 1.2.0-alpha02

29 gennaio 2020

androidx.appcompat:appcompat:1.2.0-alpha02 e androidx.appcompat:appcompat-resources:1.2.0-alpha02 sono state rilasciate. La versione 1.2.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema per cui appcompat 1.1.0 arresta in modo anomalo WebView quando viene premuto a lungo (b/141351441)
  • Colorazione fissa delle risorse drawable su TextView rispetto alle risorse drawable composte nel livello API 23 (aosp/1172194)
  • È stato garantito che il contesto di base sia sempre un wrapper (aosp/1194355)
  • Sono stati aggiunti alcuni miglioramenti per rendere più intelligente la modifica della configurazione del contesto di base (aosp/1204543)
  • Disattivato createConfigurationContext() per Robolectric (aosp/1186218)

Versione 1.2.0-alpha01

4 dicembre 2019

androidx.appcompat:appcompat:1.2.0-alpha01 e androidx.appcompat:appcompat-resources:1.2.0-alpha01 sono state rilasciate. La versione 1.2.0-alpha01 contiene questi commit.

Correzioni di bug

  • Le chiamate a PackageManager.getActivityInfo non hanno più un arresto anomalo in modalità StrictMode con i controlli di avvio consapevole attivati
  • Correzioni per la colorazione dei drawables su AppCompatButton
  • Correzioni per la colorazione e l'aspetto del testo nelle versioni precedenti della piattaforma

Versione 1.1.0

Versione 1.1.0

5 settembre 2019

androidx.appcompat:appcompat:1.1.0 e androidx.appcompat:appcompat-resources:1.1.0 sono state rilasciate. I commit inclusi in questa versione sono disponibili qui.

Modifiche importanti dalla versione 1.0.0

  • Miglioramenti alla modalità Buio: MODE_NIGHT_AUTO e il passaggio dalla modalità Buio a quella Chiaro in base all'ora corrente non sono più supportati. Valuta la possibilità di utilizzare un'impostazione esplicita o MODE_NIGHT_AUTO_BATTERY.
  • Activity 1.0: AppCompatActivity ora si estende transitivamente da ComponentActivity da Activity 1.0.0 tramite Fragment 1.1.0. Consulta le note di rilascio associate per informazioni sulle modifiche apportate a ciascuna libreria.
  • Costruttore AppCompatActivity LayoutId: le sottoclassi di AppCompatActivity ora possono facoltativamente chiamare un costruttore su AppCompatActivity che accetta un ID R.layout, indicando il layout da impostare come visualizzazione dei contenuti in alternativa alla chiamata setContentView() in onCreate(). Ciò non modifica il requisito che la sottoclasse abbia un costruttore senza argomenti.

Versione 1.1.0-rc01

2 luglio 2019

androidx.appcompat:appcompat:1.1.0-rc01 e androidx.appcompat:appcompat-resources:1.1.0-rc01 sono state rilasciate. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • DayNight ora rispetta correttamente configChanges (aosp/981105)
  • Chiama solo onConfigurationChanged nelle attività avviate (aosp/987483)

Versione 1.1.0-beta01

5 giugno 2019

androidx.appcompat:appcompat:1.1.0-beta01 e androidx.appcompat:appcompat-resources:1.1.0-beta01 sono state rilasciate. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • Assicurati di eseguire la pulizia dei ricevitori in AppCompatDialogs (aosp/959376)
  • Aggiungi il supporto per buttonGravity=center_vertical sulla barra degli strumenti (b/130361721)
  • Correzione dell'offset orizzontale dello spinner (b/79477181)

Versione 1.1.0-alpha05

7 maggio 2019

androidx.appcompat:appcompat:1.1.0-alpha05 e androidx.appcompat:appcompat-resources:1.1.0-alpha05 sono state rilasciate. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

Correzioni di bug

  • Varie correzioni alla modalità Giorno/Notte
  • Invalida il contorno in caso di modifica dello sfondo nella barra delle azioni
  • Correggere lo scorrimento del widget rotella
  • Correzione degli sfondi delle finestre personalizzate impostate che vengono ignorate in AlertDialog

Versione 1.1.0-alpha04

3 aprile 2019

androidx.appcompat:appcompat:1.1.0-alpha04 e androidx.appcompat:appcompat-resources:1.1.0-alpha04 sono state rilasciate. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

  • È stata aggiunta una nuova famiglia di temi ThemeOverlay.AppCompat.DayNight. Questi devono essere utilizzati quando si utilizza la funzionalità Giorno/Notte.

Modifiche alle API

  • AppCompatActivity ora contiene un secondo costruttore che accetta un @LayoutRes int, che sostituisce il comportamento precedente di annotazione della classe AppCompatActivity con @ContentView. Questo approccio funziona sia nei moduli dell'app che in quelli della libreria. (b/128352521)

Correzioni di bug

  • Dipendenze interne bloccate alle versioni stabili, ove possibile
  • È stato corretto lo scorrimento di AppCompatSpinner in modalità elenco a discesa (b/124274573).
  • Chiama applyOverrideConfiguration() solo se necessario per DayNight

Versione 1.1.0-alpha03

13 marzo 2019

androidx.appcompat:appcompat:1.1.0-alpha03 e androidx.appcompat:appcompat-resources:1.1.0-alpha03 sono state rilasciate. Questa è la prima release di appcompat-resources. L'elenco completo dei commit inclusi in questa versione è disponibile qui.

Nuove funzionalità

  • La nuova libreria appcompat-resources contiene API che consentono alle app di caricare e colorare drawables (inclusi i drawables vettoriali) nelle versioni precedenti della piattaforma. Si tratta della stessa funzionalità che in precedenza faceva parte del modulo appcompat, ma ora è disponibile senza l'overhead del backport completo di appcompat di Material Design che include widget, dialoghi, modalità Buio e così via.
  • Correzioni principali al supporto della modalità Giorno/Notte
  • Nuova opzione MODE_NIGHT_AUTO_BATTERY per la modalità Giorno/Notte
  • Colorazione delle risorse drawable in AppCompatTextView
  • L'overflow della barra degli strumenti ora può essere stilizzato con elenchi di stati di colore a tema
  • Le icone dei menu ora possono utilizzare colori che fanno riferimento agli attributi del tema
  • Il nuovo attributo app:menu può essere impostato su una barra degli strumenti per fornire i contenuti del menu al momento dell'espansione.

Correzioni di bug

  • Modalità di tinta predefinita fissa su ImageView nella versione 21
  • È stato corretto il popup dello spinner che veniva chiuso in modo errato durante la rotazione del dispositivo
  • Fixed DayNight non rispetta configChanges nel file manifest
  • È stato risolto il problema per cui il passaggio a MODE_NIGHT_FOLLOW_SYSTEM non funziona (b/111345020)
  • È stato corretto il problema relativo al ripristino delle risorse DayNight in WebView (b/37124582).

Versione 1.1.0-alpha02

7 febbraio 2019

androidx.appcompat:appcompat 1.1.0-alpha02 è stato rilasciato.

Nuove funzionalità

  • Estrazione della gestione delle risorse drawable specifiche in un hook (aosp/870976)
  • È stato consentito a Toolbar titleTextColor e subtitleTextColor di utilizzare un ColorStateList e sono stati aggiunti overload di ColorStateList dei metodi setTitleTextColor e setSubtitleTextColor (aosp/867489)

Correzioni di bug

  • È stato corretto il problema relativo a fontFamily che non funziona sulle versioni precedenti dell'API 24 (aosp/807054)
  • È stato corretto un bug a causa del quale textFontWeight non funzionava quando un'attività si estendeva da AppCompatActivity (aosp/847640)
  • È stato corretto un bug che impediva al testo del titolo nel popup del widget rotella (quando si utilizzava la modalità finestra di dialogo) di utilizzare il carattere specificato in fontFamily (aosp/789994).
  • Correzione del bug che impediva ai widget AppCompatCheckBox e AppCompatRadioButton di modificare la tonalità dello sfondo (aosp/825160)
  • È stato corretto un bug a causa del quale AppCompat non eseguiva l'override di android: list styles (aosp/862350)

Versione 1.1.0-alpha01

3 dicembre 2018

Nuove funzionalità

  • AppCompatTextView ora supporta app:drawableLeftCompat, app:drawableTopCompat, app:drawableRightCompat, app:drawableBottomCompat, app:drawableStartCompat e app:drawableEndCompat drawables composti, supportando tipi di drawables di cui è stato eseguito il backporting, come VectorDrawableCompat.

  • Le risorse disegnabili predefinite di AppCompatCheckBox e AppCompatRadioButton ora animano i cambiamenti di stato della casella di controllo.

Modifiche alle API

  • aosp/740385: ActionBarOverlayLayout ora implementa NestedScrollingParent2 e NestedScrollingParent3, consentendo di facilitare le funzionalità più recenti in Nested Scrolling 3. Se il codice dello sviluppatore attualmente esegue l'override di ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), è probabile che non venga più chiamato e che venga eseguito l'override di ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]).

Versione 1.0.2

Versione 1.0.2

7 novembre 2018

Release di correzione di bug di core-1.0.1 e appcompat-1.0.2.

Correzioni di bug

  • È stato corretto un bug per cui PrecomputedTextCompat si arrestava in modo anomalo quando veniva utilizzato con AppCompatTextView RTL. b/113070424

Versione 1.0.0

Versione 1.0.0

7 novembre 2018

Nuove funzionalità