Appcompat

Consente l'accesso alle nuove API sulle versioni precedenti dell'API della piattaforma (molte delle quali utilizzano Material Design).
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
29 maggio 2024 1.7.0 - - -

Dichiarazione delle dipendenze

Per aggiungere una dipendenza da AppCompat, devi aggiungere il repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il repository Maven di Google.

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

Alla moda

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")
}

Per ulteriori informazioni sulle dipendenze, consulta Aggiungere dipendenze di compilazione.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se riscontri nuovi problemi o hai idee per migliorare questa raccolta. Prima di crearne uno nuovo, 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.

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Tracker dei problemi.

Versione 1.7

Versione 1.7.0

29 maggio 2024

androidx.appcompat:appcompat:1.7.0 e androidx.appcompat:appcompat-resources:1.7.0 vengono rilasciati. La versione 1.7.0 contiene questi commit.

Modifiche importanti dalla versione 1.6.0

  • AppCompatDialog ora imposta correttamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner nella visualizzazione della decorazione della finestra di dialogo tramite le API ViewTree, risolvendo i problemi relativi all'hosting di un ComposeView all'interno di un AppCompatDialog.
  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo da poter recuperare il gestore dalla visualizzazione.
  • Sono state migliorate notevolmente le prestazioni di SupportMenuInflater.
  • Ora Locale.getDefault() restituisce le impostazioni internazionali del sistema dopo un avvio a freddo.
  • LinearLayoutCompat ora mantiene i parametri di layout del margine.

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 vengono rilasciati. 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 vengono rilasciati. 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 vengono rilasciati. La versione 1.7.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Supporto per l'ottenimento delle impostazioni internazionali per app in contesti diversi da Attività (I58e753). Per questa funzionalità sono state aggiunte quattro nuove API:

    • LocaleManagerCompat.getApplicationLocales(): per consentire agli sviluppatori di rimuovere le lingue per app dall'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 all'API

  • È stata aggiunta la classe setLineHeight(unit, lineHeight) alle classi di compatibilità TextView (Ia9fa9)
  • Aggiunta setLineHeight(unit, lineHeight) alle classi di compatibilità TextView (Ib2ee1)
  • È stato aggiunto setLineHeight(unit, lineHeight) alle classi di compatibilità TextView (I15716)

Correzioni di bug

  • AppCompatDialog ora imposta correttamente LifecycleOwner, SavedStateRegistryOwner e OnBackPressedDispatcherOwner nella visualizzazione della decorazione della finestra di dialogo tramite le API ViewTree, risolvendo i problemi relativi all'hosting di un ComposeView all'interno di un AppCompatDialog. AppCompat ora dipende da Activity 1.7.0. (Ib28ab, b/261314581)
  • Migliorare notevolmente 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 vengono rilasciati. La versione 1.7.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stata risolta 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 vengono rilasciati. La versione 1.7.0-alpha01 contiene questi commit.

Correzioni di bug

  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo da poter recuperare il gestore 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 vengono rilasciati. La versione 1.6.1 contiene questi commit.

Correzioni di bug

  • È stata risolta 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 vengono rilasciati. La versione 1.6.0 contiene questi commit.

Modifiche importanti dalla versione 1.5.0

  • È stato aggiunto il supporto per la personalizzazione delle impostazioni internazionali dell'applicazione. Per ulteriori informazioni, visita la pagina AppCompatDelegate.setApplicationLocales(LocaleListCompat). Fornisce la compatibilità con le versioni precedenti per la nuova API per le preferenze per lingua disponibile in Android 13.
  • Aggiornamenti della nullabilità in linea con l'SDK Android 13 (Tiramisu, livello API 33).
  • Sono state aggiunte le classi di compatibilità DrawableWrapper, DrawableContainer e StateListDrawable all'interfaccia 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 vengono rilasciati. La versione 1.6.0-rc01 contiene questi commit.

Correzioni di bug

  • AppCompatActivity ora imposta ViewTreeOnBackPressedDispatcherOwner in modo da poter recuperare il gestore dalla visualizzazione. (I1a115, b/235416503)
  • È stata annullata una correzione di bug che ha sovrascritto la configurazione passata a onConfigurationChanged, causando problemi per i test che iniettavano 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 vengono rilasciati. La versione 1.6.0-beta01 contiene questi commit.

Modifiche all'API

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

Correzioni di bug

  • Ora Toolbar chiamerà onPrepareMenu() prima che venga visualizzato il menu anziché incondizionatamente 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 invocato da Indietro a AppCompatDelegate e all'implementazione della barra degli strumenti fornita da AppCompat. (I24062)
  • Finalizzare le API AppCompat per 1.5.0-beta01 (I2a43d, b/236866227)
  • Finalizzare le API AppCompat per 1.5.0-beta01 (I2a43d, b/236866227)

Versione 1.6.0-alpha05

15 giugno 2022

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

Modifiche all'API

  • Aggiornamenti dell'annullabilità in linea con l'API definitiva nell'SDK Tiramisu Beta 3
  • minCompileSdk ora è 33 per allinearsi all'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 vengono rilasciati. Questa libreria è stata sviluppata in base a un ramo pre-release privato, pertanto non è disponibile alcun log dei commit.

Modifiche all'API

  • Aggiungere 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 la configurazione cambia 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 vengono rilasciati.

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

Nuove funzionalità

  • Supporto per la selezione della lingua personalizzata a livello di app tramite AppCompatDelegate.setApplicationLocales(). Delega all'implementazione della piattaforma su 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 vengono rilasciati. La versione 1.6.0-alpha01 è stata compilata da un ramo interno e non ha 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à

  • È stato 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 vengono rilasciati. 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 vengono rilasciati. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

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

Versione 1.5.0-rc01

27 luglio 2022

androidx.appcompat:appcompat:1.5.0-rc01 e androidx.appcompat:appcompat-resources:1.5.0-rc01 vengono rilasciati. La versione 1.5.0-rc01 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui il wrapper del contesto di AppCompat riutilizzava l'implementazione della risorsa di supporto del contesto dell'applicazione, con la conseguente 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 vengono rilasciati. La versione 1.5.0-beta01 contiene questi commit.

Modifiche all'API

  • Aggiungi un flag sostituibile per disattivare l'aggiustamento della larghezza dell'opzione predefinita. (I37cb7)
  • Aggiunta dell'annotazione @FloatRange all'API del getter della posizione del pollice (If524c)
  • Aggiungere le annotazioni mancanti relative alla nullità a AnimatedStateListDrawableCompat (Ieb4ec)

Correzioni di bug

  • Finalizzare le API AppCompat per 1.5.0-beta01 (I2a43d, b/236866227)
  • Modificare il valore className per ActionMenuItemView in modo da trattarlo 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 vengono rilasciati. La versione 1.5.0-alpha01 contiene questi commit.

Modifiche all'API

  • È stata aggiunta una nuova API per esporre la posizione del cursore dell'opzione ai sottoclassi (I9bfb4)
  • La nullabilità è stata aggiornata in modo da corrispondere a Tiramisu DP2 (I0cbb7)
  • Tinta degli elementi drawable composti di cui è stato eseguito il backporting ai widget derivati da TextView (Idf98c, b/165822337)
  • AppCompatDialog ora estende ComponentDialog per la compatibilità con OnBackPressedDispatcher (Id9b91, b/217620781)
  • La visibilità di SearchView.onQueryRefine() è ora protetta per consentire le sostituzioni (I6cce0, b/212882845)

Correzioni di bug

  • AppCompat Toolbar ora chiama l'API onPrepareMenu() di MenuHostHelper. (I9b9b5, b/227376894)
  • AppCompatEditText, AppCompatAutoCompleteEditText, AppCompatMultiAutoCompleteEditText non reimpostano più clickable o longClickable nel costruttore se impostati in XML (Ic5066, b/221094907)
  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView non chiameranno setKeyListener sostituito 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 corretto un problema relativo a tutti i sottoclassi NumberKeyListener introdotti in AppCompat 1.4.0 che consentivano di inserire 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 vengono rilasciati. La versione 1.4.2 contiene questi commit.

Correzioni di bug

  • Risolto un arresto anomalo in cui AppCompatDelegateImpl effettuava una chiamata interna a ensureSubDecor prima della creazione della barra di 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 vengono rilasciati. La versione 1.4.1 contiene questi commit.

Correzioni di bug

  • AppCompatEditText, AppCompatAutoCompleteTextView e AppCompatMultiAutoCompleteTextView non chiameranno la funzione overriden setKeyListener durante il costruttore. (I5c13a, b/208480173)
  • Emoji2 non eseguirà il wrapping delle istanze di NumberKeyListener, consentendo di configurare il codice lingua tramite textview.
    • AppCompat non eseguirà il wrapping delle istanze di NumberKeyListener passate a setKeyListener, consentendo a TextView di configurare correttamente il codice lingua su NumberKeyListeners. (Ibf113, b/207119921)
  • Corregge il problema relativo a tutti i sottoclassi NumberKeyListener introdotti in appcompat 1.4.0 che consentivano di inserire caratteri inaspettati come 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 vengono rilasciati. 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 è abilitato 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 gli elementi drawable vettoriali nei backport del caricamento delle risorse AppCompat. Tieni presente, tuttavia, che ciò significa che le app non possono sostituire getDrawable() in un oggetto Resources personalizzato quando i backport sono abilitati. (Ia6b03, b/176129022)
  • Sfondo tintable e segno di spunta di CheckedTextView sottoposti a backport (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 vengono rilasciati. 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 vengono rilasciati. La versione 1.4.0-beta01 contiene questi commit.

Modifiche all'API

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

Correzioni di bug

  • È stato corretto il trattamento delle barre di avanzamento dell'elenco di livelli da parte di AppCompatProgressBar (I6ece3, b/142004509)
  • Mantieni correttamente android:digits in AppCompatEditText, questo corregge il bug 193047889 introdotto in AppCompat 1.4.0-alpha03. (I4b4fc, b/193047889)
  • SDK OnReceiveContentListener integrato e API lib 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 vengono rilasciati. La versione 1.4.0-alpha03 contiene questi commit.

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • Bug fix in AppCompatEditText che reimposta il valore 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 vengono rilasciati. La versione 1.4.0-alpha02 contiene questi commit.

Modifiche all'API

  • È stato aggiunto il costruttore AppCompatDialogFragment che accetta un ID layout (Icbf22, b/188119987)
  • Supporto migliorato per l'ispettore layout (I02d55)
  • Il pacchetto in emoji2-views-helper è stato rinominato in androidx.emoji2.viewsintegration. Si tratta di una modifica che comporta una interruzione del servizio per AppCompat 1.4.0-alpha01 e le app devono assicurarsi che la dipendenza da AppCompat sia aggiornata per poter utilizzare la nuova versione di emoji2. (Ie8397)

Correzioni di bug

  • È stato risolto un problema per cui le attività interrotte non ricevevano modifiche di configurazione dalle modifiche della modalità notturna con strumenti AppCompat. (I8fa8f, b/188681415)
  • È stato corretto un bug in AppCompatEditText che causava la possibilità di mettere in primo piano le 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 vengono rilasciati. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche all'API

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

Correzioni di bug

  • È stato corretto uno scenario in cui l'utilizzo di 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 drawable non caricano un colore predefinito finché non ricevono una modifica dello stato. (Iedb4b)
  • Evitare errori NPE durante la gestione dei callback della modalità di azione di selezione personalizzata nullo nelle visualizzazioni basate su AppCompat. (I033c7, b/173435375)

Aggiornamenti delle dipendenze

Contributo esterno

  • Backport di sfondo colorabile e 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 vengono rilasciati. 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 vengono rilasciati. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • È stata corretta la propagazione degli attributi android:theme nei layout <include>d sui dispositivi precedenti a Lollipop
  • Dimensioni della libreria ridotte mediante la conversione di molte risorse PNG in VectorDrawables
  • È stato aggiunto il supporto per gli eventi di trascinamento a AppCompatEditText con OnReceiveContentListener
  • Aggiornamento per supportare le modifiche alla gestione dell'inset della finestra di Android 11
  • È stato aggiunto il supporto per l'RTL negli elementi del menu con icone
  • È stato aggiunto il supporto per l'inserimento di contenuti avanzati (ad es. incollando un'immagine) in AppCompatEditText

  • Dipendenze aggiornate: appcompat ha aggiornato molte delle sue dipendenze transitorie 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 vengono rilasciati. 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

  • È stata corretta la propagazione dell'attributo android:theme nei layout <include>d sui dispositivi precedenti a 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 vengono rilasciati. La versione 1.3.0-beta01 contiene questi commit.

Nuove funzionalità

  • Gli elementi drawable della modalità di azione a livello di tema sono stati sostituiti con origini vettoriali. Ciò potrebbe causare lievi modifiche all'aspetto visivo delle singole icone. (I741a6)

Modifiche all'API

  • È stato integrato il trascinamento (eventi drop) in AppCompatEditText con OnReceiveContentListener. (Ib26c9, b/175343405)
  • OnReceiveContentListener e le API correlate sono state aggiornate. Per ulteriori dettagli, consulta le modifiche alla libreria androidx.core. (Ib4616, b/173814913)
  • widget.RichContentReceiverCompat è stato spostato in view.OnReceiveContentListener. (Ifdab7, b/173814913)
  • Le API per fornire e recuperare il testo iniziale circostante sono state sottoposte a backport a EditorInfoCompat. Consentono alle app IME di evitare una latenza IPC aggiuntiva. (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 vengono rilasciati. La versione 1.3.0-alpha02 contiene questi commit.

Correzioni di bug

  • Gli elementi drawable PNG di AppCompatRatingBar sono stati sostituiti da origini vettoriali. Ciò potrebbe causare lievi variazioni nell'aspetto visivo delle singole stelle. (I6b99d)
  • Aggiorna WindowInsetsCompat alle API Android 11 (I3df9e)
  • Supporto dell'RTL negli elementi del menu con icone (I2f5c5)

Aggiornamenti delle dipendenze

  • AppCompat ha aggiornato la 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 modifiche principali introdotte nella precedente release di Fragment.
  • AppCompat ha aggiornato la dipendenza da Attività 1.0.0 ad Attività 1.2.0-alpha08. Ti consigliamo vivamente di leggere le note di rilascio di Attività 1.1.0 per comprendere le modifiche principali introdotte nella release precedente di Attività.
    • AppCompatActivity ora utilizza l'API OnContextAvailableListener introdotta in Attività 1.2.0-alpha08 per configurare AppCompatDelegate. Eventuali 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 vengono rilasciati. La versione 1.3.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Aggiungere 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. incollando un'immagine). Il nuovo callback fornisce un'unica 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:
    • Incolla dagli appunti
    • Inserzione 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)
  • Risolvere correttamente i colori dei link e dei suggerimenti di testo sui dispositivi meno recenti quando viene chiamato TextViewCompat.setTextAppearance con uno stile di aspetto del testo che contiene elenchi di stato del colore che fanno riferimento agli attributi del 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 vengono rilasciati. 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 override della configurazione, tra cui le impostazioni internazionali e le scale dei caratteri personalizzate. Qui puoi trovare un esempio di come implementare correttamente le sostituzioni utilizzando appcompat:1.2.0.
  • AppCompatDelegate.attachBaseContext() obsoleto. Se chiami o sostituisci questo metodo, utilizza AppCompatDelegate.attachBaseContext2().
  • CollapsibleActionView obsoleto. 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 vengono rilasciati. La versione 1.2.0-rc02 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema relativo alla modalità notturna per cui, a volte, l'attivazione di AppCompatDelegate.setDefaultNightMode da una finestra di dialogo 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 vengono rilasciati. La versione 1.2.0-rc01 contiene questi commit.

Modifiche all'API

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

Correzioni di bug

  • Ora AppCompatDelegate.setLocalNightMode può essere chiamato prima di Activity.attachBaseContext
  • È stato corretto il consumo degli inserti ActionBarOverlayLayout che utilizzavano in modo errato gli inserti 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 vengono rilasciati. La versione 1.2.0-beta01 contiene questi commit.

Nuove funzionalità

  • Sono state aggiunte le seguenti nuove regole lint che segnalano utilizzi errati di AppCompat nei seguenti scenari:
    • Caricamento degli elenchi degli stati di colore: si consiglia di utilizzare le API ContextCompat e AppCompatResources per la compatibilità con le versioni precedenti
    • Caricamento di drawable: si consiglia di utilizzare le API ContextCompat e ResourcesCompat per la compatibilità con le versioni precedenti
    • Utilizzo di elenchi di stati di colore con attributo alpha: gli indicatori mancanti dell'attributo android:alpha determinano un aspetto errato su alcune versioni della piattaforma
    • Tinting image views: flags not using app:tint that will lead to incorrect appearance on older platform versions
    • Utilizzo di drawable 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 degli elementi Drawable e all'aspetto del testo nelle versioni precedenti della piattaforma
  • È stato risolto un problema per cui androidx.appcompat:appcompat:1.1.0 arresta in modo anomalo 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 vengono rilasciati. La versione 1.2.0-alpha03 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui la guardia dello stato della modalità di azione si estendeva erroneamente nella barra di navigazione e aveva il colore sbagliato (Ia4a09)
  • Risolto il problema per cui le attività interrotte non riprendevano nel livello API 23 e versioni 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 vengono rilasciati. 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 con una pressione prolungata (b/141351441)
  • È stato corretto il colore dei drawable in TextView rispetto ai drawable composti a livello API 23 (aosp/1172194)
  • È stato garantito che il contesto di base sia sempre un wrapper (aosp/1194355)
  • Sono stati aggiunti alcuni miglioramenti per essere più intelligenti durante la modifica della configurazione del contesto di base (aosp/1204543)
  • createConfigurationContext() disattivato 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 vengono rilasciati. La versione 1.2.0-alpha01 contiene questi commit.

Correzioni di bug

  • Le chiamate a PackageManager.getActivityInfo non si arrestano più in modo anomalo in modalità rigorosa con i controlli attenti all'avvio abilitati
  • Correzioni per la colorazione degli elementi Drawable 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 vengono rilasciati. 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 da modalità Buio/Chiara in base all'ora corrente non sono più supportati. Valuta la possibilità di utilizzare un'impostazione esplicita o MODE_NIGHT_AUTO_BATTERY.
  • Attività 1.0: AppCompatActivity ora si estende in modo transitivo da ComponentActivity dell'attività 1.0.0 tramite il componente 1.1.0. Consulta le note di rilascio associate per informazioni sulle modifiche in ogni libreria.
  • Costruttore LayoutId di AppCompatActivity: ora i sottoclassi di AppCompatActivity possono, facoltativamente, chiamare un costruttore in AppCompatActivity che accetta un ID R.layout, indicando il layout da impostare come visualizzazione dei contenuti come alternativa alla chiamata di setContentView() in onCreate(). Ciò non cambia 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • DayNight ora rispetta correttamente configChanges (aosp/981105)
  • Chiama onConfigurationChanged solo per le 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Correzioni di bug

  • Assicurati di ripulire i destinatari in AppCompatDialogs (aosp/959376)
  • Aggiunta del supporto per buttonGravity=center_vertical nella barra degli strumenti (b/130361721)
  • Correggere l'offset orizzontale del cursore (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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

Correzioni di bug

  • Varie correzioni alla modalità Giorno/Notte
  • Annullare l'outline in caso di modifica dello sfondo nell'ActionBar
  • Correggere lo scorrimento del widget di scorrimento
  • Correggere l'override degli sfondi delle finestre impostati in modo personalizzato 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 vengono rilasciati. I commit inclusi in questa versione sono disponibili qui.

Nuove funzionalità

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

Modifiche all'API

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

Correzioni di bug

  • Dipendenze interne bloccate alle versioni stabili, se possibile
  • È stato corretto lo AppCompatSpinnerscorrimento in modalità 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-alpha03vengono rilasciati. 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 gli elementi drawable (inclusi gli elementi drawable vettoriali) sulle versioni precedenti della piattaforma. Si tratta della stessa funzionalità che in precedenza faceva parte del modulo appcompat, ma ora è disponibile senza il sovraccarico del backport completo di appcompat di Material Design che include widget, finestre di dialogo, modalità notturna e così via.
  • Correzioni importanti al supporto della modalità Giorno/Notte
  • Nuova opzione MODE_NIGHT_AUTO_BATTERY per la modalità Giorno/Notte
  • Colorazione di Drawable in AppCompatTextView
  • Ora è possibile applicare uno stile allo spazio extra della barra degli strumenti con elenchi di stati di colore a tema
  • Ora le icone del menu 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'inflazione

Correzioni di bug

  • È stata corretta la modalità di tinta predefinita in ImageView nella versione 21
  • È stato corretto il problema di chiusura errata del popup della rotellina durante la rotazione del dispositivo
  • La modalità Giorno/Notte fissa non rispetta configChanges nel file manifest
  • È stato corretto il problema di mancata attivazione del passaggio a MODE_NIGHT_FOLLOW_SYSTEM (b/111345020)
  • È stato corretto il problema per cui WebView reimposta le risorse DayNight (b/37124582)

Versione 1.1.0-alpha02

7 febbraio 2019

androidx.appcompat:appcompat 1.1.0-alpha02 viene rilasciato.

Nuove funzionalità

  • È stato estratto il trattamento di drawable specifico per risorsa in un hook (aosp/870976)
  • È stato consentito a titleTextColor e subtitleTextColor della barra degli strumenti di utilizzare un ColorStateList e sono stati aggiunti sovraccarichi ColorStateList dei metodi setTitleTextColor e setSubtitleTextColor (aosp/867489)

Correzioni di bug

  • È stato corretto il problema di mancata funzionalità di fontFamily nelle versioni precedenti all'API 24 (aosp/807054)
  • È stato corretto un bug per cui textFontWeight non funzionava quando un'attività si estendeva da AppCompatActivity (aosp/847640)
  • È stato corretto un bug che causava l'utilizzo del carattere specificato nel file fontFamily (aosp/789994) per il testo del titolo nel popup del widget di cursore (quando si utilizza la modalità di dialogo).
  • Correggere il bug che impediva ai widget AppCompatCheckBox e AppCompatRadioButton di modificare la tonalità di sfondo (aosp/825160)
  • È stato corretto un bug a causa del quale AppCompat non ha sostituito android: list styles (aosp/862350)

Versione 1.1.0-alpha01

3 dicembre 2018

Nuove funzionalità

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

  • Gli elementi drawable predefiniti di AppCompatCheckBox e AppCompatRadioButton ora animano le modifiche dello stato di controllo.

Modifiche all'API

  • aosp/740385: ActionBarOverlayLayout ora implementa NestedScrollingParent2 e NestedScrollingParent3, il che gli consente di facilitare le funzionalità più recenti nello scorrimento nidificato 3. Se il codice sviluppatore attualmente sostituisce ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int), probabilmente non verrà più chiamato e dovrebbe essere sostituita ActionBarOverLayLayout.onNestedScroll(View, int, int, int, int, int, int[]).

Versione 1.0.2

Versione 1.0.2

7 novembre 2018

Release con 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 se utilizzato con RTL AppCompatTextView. b/113070424

Versione 1.0.0

Versione 1.0.0

7 novembre 2018

Nuove funzionalità