Archivio delle revisioni della libreria di assistenza

In questa pagina vengono forniti dettagli sulle release dei pacchetti Libreria di supporto precedenti. Per versioni più recenti della Libreria di assistenza, consulta la sezione Recenti Supporta le revisioni della libreria.

Revisione 26.0.0 Beta 2

(Giugno 2017)

Tieni presente che la versione 26.0.0-beta2 è una versione pre-release. La superficie API è soggetti a modifiche e non includono necessariamente funzionalità o correzioni di bug dall'ultima versione stabile della Support Library.

Importante: le librerie di supporto sono ora disponibili tramite il Repository Maven di Google. Non è necessario scaricare l'assistenza da SDK Manager. Per ulteriori informazioni, vedi Supporto della configurazione della libreria.

Nuove API

Differenze API

Correzioni di bug

  • Il rilascio dell'SDK Android O causa la perdita del corsivo in TextView
  • Eccezione del puntatore nullo durante la connessione a MediaBrowserServiceCompat
  • TextInputLayout deve impostare i suggerimenti su onProvidePrepareColumn()
  • Stack overflow quando si utilizza la dimensione automatica di TextView su O

Revisione 26.0.0 Beta 1

(Maggio 2017)

Tieni presente che la versione 26.0.0-beta1 è una versione pre-release. La superficie API è soggetti a modifiche e non includono necessariamente funzionalità o correzioni di bug dall'ultima versione stabile della Support Library.

Importante: le librerie di supporto sono ora disponibili tramite il Repository Maven di Google. Non è necessario scaricare l'assistenza da SDK Manager. Per ulteriori informazioni, vedi Supporto della configurazione della libreria.

Modifiche importanti

  • FragmentActivity.setSupportMediaController() e FragmentActivity.getSupportMediaController() sono state rimosse. Usa i nuovi metodi statici MediaControllerCompat.setMediaController() e MediaControllerCompat.getMediaController().
  • BottomNavigationView ora chiama onNavigationItemReselected() quando selezioni un elemento già selezionato, anziché chiamare onNavigationItemSelected().
  • Tutte le istanze del metodo findViewById() ora restituiscono <T extends View> T anziché View. Questa modifica ha le seguenti implicazioni:
    • Ciò può causare un tipo restituito ambiguo per il codice esistente, ad esempio se sono presenti sia someMethod(View) che someMethod(TextView) che riceve il risultato di una chiamata a findViewById().
    • Quando si utilizza il linguaggio di origine Java 8, è necessaria una trasmissione esplicita View quando il tipo restituito non è vincolato (ad esempio, assertNotNull(findViewById(...)).someViewMethod()).
    • Override dei metodi findViewById() non finali (ad ad esempio Activity.findViewById()) dovranno restituire un reso tipo aggiornato.

Nuove API

  • FragmentManager e Fragment hanno un isStateSaved() per consentire di eseguire query su un sarà consentita senza perdita di stato. Ciò è particolarmente utile per verificare quando gestisci un evento onClick() prima di eseguire qualsiasi transazione.
  • Il movimento del percorso è supportato in AnimatedVectorDrawableCompat. Il movimento del percorso consente a un animatore di oggetti di modificare due proprietà contemporaneamente sulla base di un unico percorso; il percorso è specificato android:pathData nel file XML dell'animatore).
  • Basati sulla fisica animazione:
      .
    • Nuovo file FlingAnimation che supporta l'animazione con un elemento velocità iniziale e rallenta gradualmente.
    • Le sottoclassi di DynamicAnimation supportano l'animazione personalizzata per qualsiasi oggetto.
    • Sia SpringAnimation che FlingAnimation possono ora anima un valore in virgola mobile senza richiedere un View o un Object da associare.

    Per ulteriori informazioni, consulta Animazione primaverile e Animazione scorrimento pagine di anteprima.

  • Carattere assistenza in XML:
      .
    • ResourcesCompat.getFont consente di caricare il carattere risorse, incluso il font XML font-family, che possono essere utilizzate con TextView.setTypeface().
    • Quando si utilizza AppCompat, TextView supporta la specifica di una risorsa XML della famiglia di caratteri tramite l'attributo XML android:fontFamily.
    • Usa la famiglia di caratteri XML per creare famiglie di caratteri con stile e spessore varianti. (Se per eseguire questa operazione utilizzi le classi della libreria di supporto, utilizza app: e android: .
  • Scaricabili caratteri:
      .
    • Nuovo FontsContractCompat che ti consente di richiedere caratteri di un fornitore di caratteri invece di raggrupparli nella tua app.
    • I caratteri possono essere richiesti anche in XML e utilizzati nei layout.
  • Compatibilità delle emoji raccolta:
      .
    • EmojiCompat può elaborare un determinato CharSequence e aggiungi EmojiSpans.
    • EmojiTextView e altri widget per visualizzare emoji.
    • FontRequestEmojiCompatConfig per richiedere il carattere delle emoji da un fornitore del carattere.
  • Ridimensionamento automatico Visualizzazione testo:
      .
    • Nuovi metodi in TextViewCompat e attributi XML per controllare il ridimensionamento automatico in TextView.
  • Controlli di riproduzione Leanback con supporto di scorrimento:
    • Nuovo PlaybackTransportRowPresenter che esegue il rendering della riproduzione con SeekBar.
    • Nuovo PlaybackTransportControlGlue che funziona con PlaybackTransportRowPresenter e supporta la ricerca.
    • Nuova classe base PlaybackSeekDataProvider per l'app su fornire miniature di ricerca a PlaybackTransportControlGlue.
  • Datastore delle preferenze:
    • PreferenceDataStore ora ti consente di implementare le tue archiviazione delle preferenze, impostata con nuovi metodi in Preference e PreferenceManager.

Problemi noti

  • Integrazione della compatibilità delle emoji e dei caratteri scaricabili con Google Play Services funziona solo su Google Play Services v11 e versioni successive, che al momento è disponibile tramite il Google Play programma beta dei servizi.

Correzioni di bug

  • L'API MediaBrowserCompat.search() non funziona (problema con AOSP 262170)
  • ViewCompat.postInvalidateOnAnimation() genera un'eccezione (AOSP problema 80146)
  • onActivityCreated() ha richiesto frammenti nell'attività eliminata
  • RecyclerView.isComputingLayout() deve restituire true durante precaricamento
  • Quando una transizione Fade viene interrotta e invertita, View avvia l'animazione dall'inizio. (Correzione del trasferimento da Framework Android).
  • Transition.Fade ignora la versione alpha iniziale di View (problema di AOSP 221820)

Revisione 26.0.0 Alpha 1

(Marzo 2017)

Tieni presente che la versione 26.0.0-alpha1 è una versione pre-release. La superficie API è soggetti a modifiche e non includono necessariamente funzionalità o correzioni di bug dall'ultima versione stabile della Support Library.

Modifiche importanti

Nota:la versione minima dell'SDK è stata aumentata a 14. Di conseguenza, molte API esistevano solo per le API < 14 impostazioni hanno sono state ritirate. I client di queste API devono eseguire la migrazione al proprio framework equivalenti, come indicato nella pagina di riferimento per ogni API ritirata.

  • Il modulo support-percent è stato deprecato. Client di questo modulo deve migrare al nuovo widget ConstraintLayout, che viene fornito come l'artefatto separato in SDK Manager.
  • Il modulo support-fragment non ha più una dipendenza dalla classe modulo support-media-compat.

Nuove API

Aggiunta di molte nuove classi, metodi e costanti per fornire supporto compatibile con le versioni precedenti per le API della piattaforma aggiunte nell'anteprima O.

  • IME_FLAG_NO_PERSONALIZED_LEARNING: gli IME possono ascoltare "nessun apprendimento" per le app che dispongono di una modalità privata, come i browser. Questo consente agli IME di capire se un'app è in modalità privata, in modo da disattivare l'apprendimento o la funzionalità adattiva mentre l'app è al suo interno. .

Per un elenco completo delle modifiche all'API tra la versione 25.2.0 e la versione 26.0.0-alpha1, vedi API libreria di supporto report sulle differenze.

Correzioni di bug

  • In alcuni casi semplici AutoTransition l'animazione può essere interrotta dalla visualizzazione dei "salti". (problema AOSP 221816)

Revisione 25.4.0

(Giugno 2017)

Importante: le librerie di supporto sono ora disponibili tramite il Repository Maven di Google. Non è necessario scaricare l'assistenza da SDK Manager. Per ulteriori informazioni, vedi Supporto della configurazione della libreria.

Modifiche importanti

  • executePendingTransactions(), commitNow(), popBackStackImmediate() e chiamate a transazioni simili non sono consentite durante Modifiche allo stato di FragmentManager. Rientro l'esecuzione delle transazioni non è sicura e ora FragmentManager applica questa funzionalità durante il suo stato modifiche.
  • In concomitanza con questa release della libreria di supporto, rilasciamo anche multidex Versione 1.0.2. Questa versione include le seguenti importanti modifiche:
    • Consente il multidexing dell'APK di strumentazione.
    • Ritira MultiDexTestRunner (è necessario utilizzare AndroidJUnitRunner ).
    • Fornisce una migliore protezione contro alcune estrazioni non corrette degli archivi la gestione dell'app.
    • Corregge un bug che potrebbe portare all'abbandono di file temporanei.
    • Consente un'installazione più rapida se eseguita in un processo simultaneo.
    • Corregge un bug di installazione sulle API 19 e 20.

API nuove e modificate

Il morphing del percorso e l'interpolazione del percorso sono supportati in AnimatedVectorDrawableCompat. Morphing del percorso consente di cambiare le forme da un percorso (specificato come android:valueFrom) a un altro percorso (specificato come android:valueTo), al fine di offrire immagini complesse e accattivanti e gli effetti sonori. L'interpolazione del percorso consente di specificare gli interpolatori per AnimatedVectorDrawableCompat come percorsi (specificati come android:pathData nel campo XML).

Differenze API

Problemi risolti

  • Eccezione del puntatore nullo durante la connessione a MediaBrowserServiceCompat
  • L'API MediaBrowserCompat.search() non funziona (problema AOSP 262170)
  • Callback di BrowseFragment onItemClicked non funzionanti nella versione 25.3.0
  • NullPointerException durante lo scorrimento verso l'alto e verso il basso in VerticalGridView in 25.3.1
  • ClassCastEccezione in SimpleArrayMap.allocArrays()

Revisione 25.3.1

(Marzo 2017)

Problemi risolti

  • SwitchCompat richiede un SDK minimo versione 14 o successiva. (problema AOSP 251302)
  • L'animazione basata sulla fisica updateListener salta il primo frame.
  • Animazione etichetta BottomNavigationView non funziona.

Revisione 25.3.0

(Marzo 2017)

Modifiche importanti

I metadati della versione della libreria di supporto verranno aggiunti automaticamente a AndroidManifest.xml durante la creazione da Gradle, il che semplifica il monitoraggio delle versioni nelle build pubbliche. Ad esempio:

<meta-data android:name="android.support.VERSION" android:value="25.3.0" />

Deprecazioni

In questa release sono stati ritirati diversi metodi e corsi. Queste API deprecate verranno rimosse in una versione futura e gli sviluppatori dovrebbero migrare. Per ulteriori informazioni su come migrare da una API specifica, consulta la relativa documentazione.

ExifInterface
Il metodo booleano getLatLong(float[]) è deprecato. Utilizza invece il nuovo metodo getLatLong(), che non accetta argomenti e restituisce double[].
mediacompat
L'elemento
PlaybackStateCompat.Builder.setErrorMessage(CharSequence) è deprecato. Utilizza invece il nuovo metodo setErrorMessage(int, CharSequence), che viene passato un codice di errore e una descrizione facoltativa.
di Gemini Advanced.
EXTRA_SUGGESTION_KEYWORDS è deprecato. Utilizza invece Funzionalità di ricerca di MediaBrowserCompat.
v7.recyclerview
LinearLayoutManager.getInitialItemPrefetchCount() è stato rinominato in LinearLayoutManager.getInitialPrefetchItemCount(). Il nome precedente è ancora supportato, ma verrà rimosso in una release futura.

API nuove e modificate

appcompat-v7
Il nuovo metodo ActionBarDrawerToggle.setDrawerSlideAnimationEnabled(boolean) semplifica la disattivazione dell'animazione dell'icona di attivazione/disattivazione del riquadro a scomparsa di navigazione.
customtabs
È stato aggiunto il supporto dei canali di messaggistica. Consulta le CustomTabsService.requestPostMessageChannel() e CustomTabsService.postMessage() di riferimento per maggiori dettagli.
dynamic-animation
Nuova libreria di animazioni basata sulla fisica che fornisce una serie di API per creare animazioni che reagiscono dinamicamente all'input dell'utente.
leanback-v17
È stato aggiunto il supporto degli sfondi con parallasse. Consulta le Parallax di riferimento per maggiori dettagli.
di Gemini Advanced.
Aggiunto TimePicker widget per la selezione degli orari su un'interfaccia TV.
mediacompat
È stata aggiunta la funzionalità di ricerca. Consulta le MediaBrowserCompat.search() e MediaBrowserServiceCompat.onSearch() di riferimento per maggiori dettagli.
di Gemini Advanced.
È stato aggiunto il supporto delle modalità di riproduzione casuale e casuale. Consulta le MediaSessionCompat.setRepeatMode() e setShuffleModeEnabled() di riferimento per maggiori dettagli.

Problemi risolti

Revisione 25.2.0

(Febbraio 2017)

Modifiche importanti

Problemi risolti

  • Questa release corregge un grave problema di Mediarouter per cui l'utilizzo di un A2DP le API di routing dei contenuti multimediali e del dispositivo potrebbero causare la mancata risposta da parte del dispositivo, che richiedono il riavvio.
  • FragmentManager.FragmentLifecycleCallbacks ora è statica.

Problemi risolti

  • La visualizzazione di una presentazione con mirroring dello schermo fa sì che il dispositivo disconnettiti dalla rete Wi-Fi
  • Il pulsante dei contenuti multimediali non gestisce correttamente le app multimediali che non sono state registrate autonomamente con setMediaButtonReceiver()
  • VectorDrawable errore con la risorsa stringa (problema AOSP 232407)
  • Suggerimenti per TextInputLayout overlay e testo se il testo è impostato da XML (problema AOSP 230171)
  • Perdita di memoria in MediaControllerCompat (problema con AOSP 231441)
  • RecyclerViewLayoutTest.triggerFocusSearchInOnRecycledCallback() arresto anomalo
  • RecyclerView si arresta in modo anomalo quando viene riciclato visualizzatori (problema AOSP 225762)
  • getAllowGeneratedReplies() restituisce erroneamente false per le azioni all'interno di un WearableExtender

Revisione 25.1.1

(gennaio 2017)

Importante: esiste un bug noto nelle android.support.v7.media.MediaRouter nella revisione 25.1.1 e 25.1.0 della Support Library. Se la tua app utilizza la versione 7 MediaRouter, devi eseguire l'aggiornamento a Support Library Revision 25.2.0, che ha corretto il bug.

Modifiche importanti

  • Ora le transazioni frammentarie possono essere ottimizzate all'interno e tra transazioni. L'ottimizzazione delle operazioni di transazione con frammenti operazioni che vengono annullate. Ad esempio, supponiamo che due transazioni eseguiti insieme, uno che aggiunge un frammento A e un secondo che sostituisce il frammento A con il frammento B. In questo caso, la prima operazione potrebbe essere annullato e viene aggiunto solo il frammento B. Ciò significa che il frammento Potrebbe non essere sottoposto al ciclo di vita di creazione/distruzione.

    Un effetto collaterale di questa ottimizzazione è che i frammenti potrebbero avere uno stato le modifiche all'ordine previsto. Ad esempio, supponiamo che una transazione aggiunge il frammento A, un secondo aggiunge il frammento B, poi il terzo rimuove il frammento R. Senza l'ottimizzazione, il frammento B potrebbe aspettarsi che, mentre viene creato, esisterà anche il frammento A perché verrà rimosso il frammento A dopo l'aggiunta del frammento B. Con l'ottimizzazione, il frammento B non può essere sicuro esisterà il frammento A mentre è in fase di creazione, perché il frammento A creazione e eliminazione potrebbero essere rimosse dall'ottimizzazione.

    Questa ottimizzazione è disattivata per impostazione predefinita. Per attivare l'ottimizzazione, chiama FragmentTransaction.setAllowOptimization(true).

  • Ora i frammenti possono posticipare le transizioni e le animazioni finché non sono pronti utilizzando Fragment.postponeEnterTransition() e Fragment.startPostponedEnterTransition(). Questa API è simile a Activity.postponeEnterTransition() e Activity.startPostponedEnterTransition() utilizzate con le transizioni di attività.

Problemi risolti

Revisione 25.1.0

(Dicembre 2016)

Importante: esiste un bug noto nelle android.support.v7.media.MediaRouter nella revisione 25.1.1 e 25.1.0 della Support Library. Se la tua app utilizza la versione 7 MediaRouter, devi eseguire l'aggiornamento a Support Library Revision 25.2.0, che ha corretto il bug.

Modifiche importanti

  • Client di widget RecyclerView nidificati (ad esempio, elenchi a scorrimento verticale di elenchi a scorrimento orizzontale) possono ottenere e significativi vantaggi in termini di prestazioni suggerendo ai gestori del layout RecyclerView dei widget interni quanti gli elementi da preparare prima di farli scorrere sullo schermo. Chiama LinearLayoutManager.setInitialPrefetchItemCount(N), dove N è il numero di visualizzazioni visibili per ogni elemento interno. Ad esempio: se gli elenchi orizzontali interni mostrano un minimo di tre visualizzazioni e mezzo di elementi alla volta, puoi migliorare le prestazioni chiamando LinearLayoutManager.setInitialPrefetchItemCount(4). In questo modo consente a RecyclerView di creare tutte le informazioni di visualizzazioni in anticipo, mentre la parte esterna RecyclerView è lo scorrimento, il che riduce significativamente la quantità di stuttering durante scorre.
  • FragmentActivity.setSupportMediaController() e FragmentActivity.getSupportMediaController() sono stati ritirati. Usa i nuovi valori statici MediaControllerCompat.setMediaController() e MediaControllerCompat.getMediaController() di machine learning.
  • Quando un client specifica la tinta di un widget tramite la colorazione compatibile con le app (ad esempio, appcompat:buttonTint), il cliente ha la responsabilità di fornire tutti gli stati necessari (ad esempio "disattivato", "premuto" e così via). Questo è in modo coerente con il modo in cui vengono specificate le sfumature dei widget quando si utilizza la colorazione del framework.

API nuove e modificate

Problemi risolti

  • L'opzione di attivazione/disattivazione della visibilità della password non supera i test di accessibilità.
  • AppCompat non rispetta state_enabled sui dispositivi pre-L.
  • Aggiunto il meccanismo di recupero dello stato attivo a RecyclerView. Questo problema ha corretto anche le preferenze frammenti con messa a fuoco interrotta durante l'utilizzo della navigazione con D-pad, ad esempio su Android TV dispositivi mobili.
  • Leanback: BrowseFragment si arresta in modo anomalo con intestazioni disattivate e adattatore vuoto.
  • Compatibilità app: AlertDialog è troppo larga.
  • InputContentInfoCompat chiamate requestPermission() quando dovrebbe chiamare releasePermission().
  • MediaBrowserCompat arresti anomali.
  • CoordinatorLayout misura/presenta le visualizzazioni quando la visibilità è impostata su GONE.
  • Impossibile applicare la tinta AnimatedVectorDrawableCompat a livello API sotto 24
  • La libreria Leanback attiva errori di lint spuuri
  • La libreria Palette ha causato errori nei test a ogni livello API
  • RecyclerView test non riusciti su Leanback
  • RecyclerView si arresta in modo anomalo quando viene riciclato visualizzatori (problema AOSP 225762)
  • Fragment.onDestroy() non richiesto per il frammento in backstack
  • Tela CollapsingToolbarLayout è non disegnato quando è compresso
  • CoordinatorLayout.offsetChildByInset() tiri IllegalArgumentException
  • Animazione dello scollegamento di RecyclerView elemento in corso... RecyclerView interiori, previeni il futuro precaricamenti
  • Impossibile eseguire RecyclerView di elementi allegati precaricato nidificato
  • Precarica i dati per RecyclerView nidificato vengono ignorati durante il primo layout
  • Il precaricamento di RecyclerView non va a buon fine se vengono trascinate due volte gli eventi arrivano nella stessa posizione
  • RecyclerView deve in modo speculativo durante il rendering di RenderThread
  • Le risorse colore configurate per la notte convertite in elementi disegnabili non sono sempre svuotata correttamente dalla cache delle risorse
  • FloatingActionButton: L'impostazione programmatica di BackgroundTintList non funziona correttamente (AOSP problema 227428)
  • TextInputLayout: il carattere tipografico non è essere impostato per ErrorView (problema con AOSP 227803)
  • TextInputLayout esegue sempre un recupero al colore dell'errore luminoso inferiore all'API 23 (problema con AOSP 221992)
  • FloatingActionButton viene mostrato come premuto quando il puntatore esce

Un elenco completo delle correzioni di bug pubbliche è disponibile sul Monitoraggio problemi AOSP.

Deprecazioni

In questa release sono stati ritirati diversi metodi e corsi. Questi le API deprecate verranno rimosse in una versione futura e gli sviluppatori dovrebbero migrare. Per ulteriori informazioni su come migrare da una API specifica, consulta la relativa documentazione.

Revisione 25.0.1

(Novembre 2016)

Problemi risolti

Un elenco completo delle correzioni di bug pubbliche è disponibile sul Monitoraggio problemi AOSP.

Revisione 25.0.0

(Ottobre 2016)

Modifiche importanti

  • Il costruttore ContextCompat è stato reso protetto. Questa classe non deve essere creata pubblicamente, ma potrebbe essere grazie a librerie di supporto destinate a livelli API più recenti.
  • Il costruttore ActivityCompat è stato creato protette. Questa classe non deve essere creata pubblicamente, ma potrebbe essere grazie a librerie di supporto destinate a livelli API più recenti.
  • getReferrer(Activity) creato statico.
  • L'utente android.support.design.widget.CoordinatorLayout.Behavior.isDirty(CoordinatorLayout, V) è stato rimosso. Qualsiasi implementazione di questo metodo da parte del cliente devono essere rimossi.
  • L'utente android.support.v4.media.session.MediaSessionCompat.obtain(Context, Object) è stato rimosso. Gli utilizzi devono essere sostituiti con il metodo con nome appropriato fromMediaSession().
  • android.support.v4.media.session.MediaSessionCompat.QueueItem.obtain(Object) è stato rimosso. Gli utilizzi devono essere sostituiti con quelli più appropriati metodo denominato MediaSessionCompat.QueueItem#fromQueueItem.
  • L'utente android.support.v7.widget.Space è stato rimosso. Utilizzi deve essere sostituito con android.support.v4.widget.Space.

Nuove API

  • android.support.design.widget.BottomNavigationView corso implementa in basso di navigazione della specifica Material Design.
  • Il nuovo pacchetto android.support.v13.view.inputmethod include corsi per accedere alle funzionalità di android.view.inputmethod.InputConnection introdotte dopo l'API livello 13.
  • android.v7.widget.RecyclerView.DividerItemDecoration corso fornisce un'implementazione di base per divisori verticali o orizzontali tra elementi.
  • Nuovi stili decorati in android.support.v7.app.NotificationCompat, DecoratedCustomViewStyle e DecoratedMediaCustomViewStyle, classi di mirroring aggiunte in dell'API 24 della piattaforma.

Problemi risolti

Un elenco completo delle correzioni di bug pubbliche è disponibile sul Monitoraggio problemi AOSP.

Revisione 24.2.1

Settembre 2016

Problemi risolti:

Un elenco completo delle correzioni di bug pubbliche è disponibile sul Monitoraggio problemi AOSP.

Revisione 24.2.0

Agosto 2016

La versione 24.2.0 contiene le seguenti modifiche:

Nota: la versione 24.2.0 rimuove il supporto per Android 2.2 (livello API 8) e versioni precedenti. Classi e metodi che esistono solo queste versioni di sistema sono ora contrassegnate come deprecate e non devono più . Questi metodi e classi deprecati potrebbero essere rimossi in futuro .

Suddivisione libreria di supporto v4

In questa versione, la libreria di supporto v4 ha è stato suddiviso in diversi moduli più piccoli:

support-compat
Fornisce wrapper compatibilità per nuove API del framework, come Context.getDrawable() e View.performAccessibilityAction().
support-core-utils
Fornisce una serie di classi di utilità, come AsyncTaskLoader e PermissionChecker.
support-core-ui
Implementa una varietà di componenti relativi all'interfaccia utente, come ViewPager, NestedScrollView e ExploreByTouchHelper.
support-media-compat
Parti del framework media con backport inclusi MediaBrowser e MediaSession.
support-fragment
Esegue il backport del frammento il modello di machine learning. Questo modulo ha dipendenze in support-compat, support-core-utils, support-core-ui e support-media-compat.

Per la compatibilità con le versioni precedenti, se elenchi support-v4 nei tuoi Script Gradle, l'APK includerà tutti questi moduli. Tuttavia, per ridurre Dimensioni dell'APK, ti consigliamo di elencare soltanto i moduli specifici di cui la tua app ha bisogno.

Aggiornamenti delle API

Cambiamenti del comportamento

  • Se utilizzi la funzionalità giorno/notte della libreria Appcompat, il sistema ora ricrea automaticamente la tua attività ogni volta che cambia la modalità giorno/notte (a causa dell'ora del giorno o di una chiamata al numero AppCompatDelegate.setLocalNightMode()).
  • Snackbar ora si trova dietro barra di navigazione se la barra di stato è trasparente.

Libreria MediaRouter

I dispositivi Bluetooth non sono più elencati come percorsi multimediali. Routing dell'audio a Ora i dispositivi Bluetooth sono controllati esclusivamente a livello di sistema Android.

Deprecazioni

Le classi e i metodi deprecati sono soggetti a rimozione in una release futura. Dovresti abbandonare queste API il prima possibile.

  • Diversi metodi nelle seguenti classi erano richiesti solo per l'API 8 e e non dovrebbe più essere usato. Utilizza invece il framework implementazioni.
    • android.support.v4.view.KeyEventCompat: sostituisci con KeyEvent
    • android.support.v4.view.MotionEventCompat: usa MotionEvent
    • android.support.v4.view.ViewCompat: usa View
    • android.support.v4.view.ViewConfigurationCompat: usa ViewConfiguration
  • AccessibilityServiceInfoCompat.getDescription() è stata ritirata in favore AccessibilityServiceInfoCompat.loadDescription(), che restituisce una descrizione localizzata correttamente.
  • Non devi creare un'istanza per il corso ActivityCompat strato Add. Il metodo getReferrer(Activity) non statico verrà è stata resa statica in una release futura.
  • CoordinatorLayout.Behavior.isDirty() è stato deprecato e non è più chiamata da CoordinatorLayout. Qualsiasi implementazioni, nonché tutte le chiamate a questo metodo, devono essere rimosse.
  • MediaSessionCompat.obtain() è stato deprecato e sostituito con il metodo con il nome più appropriato fromMediaSession().
  • MediaSessionCompat.QueueItem.obtain() è stato deprecato e sostituito con il metodo con il nome più appropriato fromQueueItem().
  • Diverse classi astratte sono state deprecate e sostituite con che riflettono più da vicino gli equivalenti dei framework.
  • CustomTabsSession.setToolbarItem() è stato deprecato e sostituito dal Basato su RemoteViews setSecondaryToolbarViews().

Correzioni di bug

Nella release 24.2.0 sono stati risolti i seguenti problemi noti:

  • Assicurati che l'indicatore SwipeRefreshLayout venga mostrato quando setRefreshing(true) viene chiamato prima del primo superamento della misurazione (AOSP problema 77712)
  • Evita lo sfarfallio di TabLayout durante il cambio di pagina (AOSP problema 180454)
  • Evita ClassNotFoundException durante l'annullamento del marshalling SavedState con livello API 11 e precedente (problema con AOSP) 196430)

Un elenco completo delle correzioni di bug pubbliche è disponibile sul Monitoraggio problemi AOSP.

Revisione 24.1.1

Luglio 2016

Problemi risolti:

  • Corregge un problema della release 24.1.0 che interessava gli ID risorsa condivise tra le librerie di supporto. Questo problema ha causato la presenza di app che dipendevano da Supporta librerie con risorse (come progettazione e compatibilità app) per problemi causati da mancate corrispondenze degli ID risorsa.

Revisione 24.1.0

Luglio 2016

Modifiche per l'assistenza v4 Raccolta:

Problemi risolti:

Revisione 24.0.0

Giugno 2016

Modifiche per l'assistenza v4 Raccolta:
  • Data di aggiunta: Fragment.commitNow() per il commit sincrono
  • Data di aggiunta: NotificationCompat.MessagingStyle per le conversazioni con più parti
  • Data di aggiunta: NotificationManagerCompat.areNotificationsEnabled() e getImportance()
  • MediaSessionCompat ora rispecchia la funzionalità di MediaSession e non chiama più setMediaButtonReceiver() più automaticamente

Nota: solo MediaBrowserServiceCompat nella versione 24.0.0 è compatibile con le versioni future di Android oltre all'API 24. Se utilizzi versioni precedenti, esegui l'aggiornamento a questa versione per per garantire la compatibilità.

Modifiche relative a v7 libreria appcompat:
  • È stato aggiunto il supporto per il riferimento agli oggetti ColorStateList tematici da XML
Modifiche per l'assistenza al design Raccolta:
Modifiche per la libreria Leanback v17:
  • È stato aggiunto OnboardingFragment per dare il benvenuto in prima esecuzione e configurazione
Modifiche per le schede personalizzate:
  • È stato aggiunto il supporto per fornire un RemoteViews gerarchia della barra degli strumenti secondaria
  • Data di aggiunta: CustomTabsClient.connectAndInitialize() per riscaldamento su una riga

Revisione 23.4.0

Maggio 2016

Modifiche per l'assistenza v4 Raccolta:
  • È stato risolto il problema per cui i frammenti venivano aggiunti nell'ordine errato. (problema 206901)
  • È stato risolto il problema per cui la barra delle app non veniva tracciata dopo lo scorrimento fuori schermo. (problema 178.037)
Modifiche relative a v7 libreria appcompat:
Modifiche per l'assistenza al design Raccolta:
Modifiche per la raccolta Vector Drawable:

Revisione 23.3.0

Aprile 2016

Modifiche per l'assistenza v4 Raccolta:
  • AppLaunchChecker aggiunto per contribuire a monitorare come la tua app è stata lanciata dall'utente in passato. hasStartedFromLauncher() ti informa se l'utente ha avviato la tua app dalla schermata Home in precedenza o se avviato in altri modi (ad esempio, per visualizzare ).
  • Correzione di una perdita di memoria MediaBrowserServiceCompat.mConnections. (problema 205220)
  • È stato risolto il problema per cui ViewPager non tiene conto dei margini della pagina quando la giri della pagina. (problema 203.816)
  • L'app Fragment.onRequestPermissionsResult() è ora disponibile per il publisher secondario di grandi dimensioni.
Modifiche relative a v7 libreria appcompat:
Modifiche relative a v7 libreria Mediarouter:
Modifiche relative alla preferenza v7 libreria:
Modifiche relative a v7 libreria di riciclo:
Modifiche per l'assistenza al design Raccolta:

Revisione 23.2.1

Marzo 2016

Modifiche per l'assistenza v4 Raccolta:
Modifiche relative a v7 libreria appcompat:
  • È stata ripristinata la dipendenza dagli asset vettoriali in modo che gli sviluppatori che utilizzano Compatibilità app libreria non forzate a usare VectorDrawable e i flag di build associati.
  • È stato risolto un problema di compatibilità con la modalità notturna e il livello API 23. (problema 201910)
  • È stato risolto un problema di compatibilità con SwitchCompat e con il livello API 7. (Numero 201942)
  • Risolto un problema relativo alla propagazione dei valori di configurazione negli oggetti Resources Numero 201928
  • È stato risolto un problema di compatibilità per cui android.support.v7.app.NotificationCompat.MediaStyle Il pulsante Annulla diventa invisibile a livello di API 21 e precedenti. (Numero 202156)
  • È stato risolto un arresto anomalo della compatibilità con AppCompatSpinner con livello API 21 e versioni precedenti. (Numero 202246)
  • È stato risolto un problema per cui lo stile app:textAllCaps = "false" non veniva applicato al lavoro. (Numero 202117)
  • È stato risolto un arresto anomalo durante il ripristino di SearchView. (problema 201836)
  • Correzione di una perdita di memoria che si verificava durante la colorazione delle risorse di cui è possibile eseguire il pull utilizzando AppCompat. (Numero 202379)
  • È stato risolto un problema relativo a KeyEvent nel livello API 11 e in basso. (Numero 202939)
Modifiche relative alla visualizzazione schede v7 raccolta:
Modifiche relative a v7 libreria di riciclo:
Modifiche relative a v7 libreria Mediarouter:
Modifiche relative alla versione v17 Leanback Library:
  • È stato risolto un problema relativo a GridLayout.onAddFocusables() che ha causato la selezione dell'elemento sbagliato.
  • È stato risolto il problema relativo a GuidedStepFragment azioni scomparire dopo la compressione di un'azione.
Modifiche per l'assistenza al design Raccolta:
  • È stato risolto un arresto anomalo di TabLayout causati dal pooling di schede. (problema 201827)
  • È stato corretto un bug in NavigationView che causava un errore colore da selezionare. (problema 201951)
  • È stato corretto un bug per cui setBackgroundTintList() non riusciva più a cambiare lo sfondo colore. (problema 201873)
  • Risolto un problema per cui AppBarLayout non scorreva completamente non visibile se utilizzato con android:fitsSystemWindows = “true”. (problema 201822)
  • Risolto un problema per cui non veniva visualizzata l'app BottomSheetDialog visualizzazioni di contenuti brevi correttamente. (problema 201793)
  • È stato risolto un problema per cui si spostava BottomSheetDialogFragment sporadicamente quando i contenuti sono stati modificati. (problema 202125)
  • È stato risolto un arresto anomalo nel link del contatore TextInputLayout
  • È stato corretto un arresto anomalo che si è verificato quando TextInputLayout.getCounterMaxLength() ha ripristinato uno stato salvato. (problema 202375)
  • È stato corretto un problema di tipo ClassCastException che si verificava durante il ripristino di un CoordinatorLayout utilizzando stato salvato di una visualizzazione diversa da CoordinatorLayout.
Modifiche per VectorDrawableCompat:
  • È stato corretto un bug per cui veniva letta la variabile errata per android:tintMode. (problema 201907)

Revisione 23.2.0

Febbraio 2016

Modifiche per la libreria di assistenza v4:
  • Aggiunti MediaBrowserCompat per l'assistenza MediaBrowser e MediaBrowserServiceCompat per MediaBrowserService. È utile quando colleghi il servizio in background di un'app multimediale ai componenti dell'interfaccia utente, e l'integrazione con Android Auto e Android Wear senza richiedere Livello API 21 o superiore.
  • Il sistema ora chiama onActivityResult() per un FragmentActivity nidificato.
Modifiche per AppCompat v7 raccolta:
  • Aggiunta della funzionalità Modalità notturna al livello API 14 e successivi. Passa tra Materiale Temi scuri chiari e materiali in base all'ora del giorno o un'impostazione specifica per l'app.
    • I temi Giorno e notte sono disponibili qui: <sdk>/extras/android/support/v7/appcompat/res/values/themes_daynight.xml
    • AppCompatDelegate.setDefaultNightMode(): imposta il valore predefinita dell'app passando una delle seguenti costanti:
      • MODE_NIGHT_AUTO
      • MODE_NIGHT_NO
      • MODE_NIGHT_YES
      • MODE_NIGHT_FOLLOW_SYSTEM
    • AppCompatDelegate.setLocalNightMode(): override l'impostazione della modalità notturna per il componente dell'app locale.
    • AppCompatDelegate.getDefaultNightMode(): resi per impostare la modalità notturna predefinita.
Modifiche per mediarouter v7 raccolta:
Modifiche per la libreria di supporto di Design:
  • Aggiunto il supporto per bottom Google Cloud. Un plug-in di interazione, BottomSheetBehavior, consente a una vista secondaria di un CoordinatorLayout di agire come un riquadro inferiore. La classe base, BottomSheetCallback, fornisce per monitorare gli eventi del riquadro inferiore.
Modifiche per il supporto delle schede personalizzate raccolta:
  • Google Chrome Le schede personalizzate ora consentono alle app di includere una barra inferiore con azioni pulsanti oltre al pulsante di azione in alto esistente.
  • CustomTabsIntent.Builder.addToolBarItem(): aggiunge un'azione a una scheda personalizzata. Puoi utilizzarlo per aggiungere più pulsanti.
  • CustomTabsSession.setToolBarItem(): aggiorna le immagini per gli elementi della barra degli strumenti. Questo metodo avrà esito positivo solo se viene fornito un un ID valido e la sessione del browser è in primo piano.
Aggiunta la libreria di supporto VectorDrawable:
  • Corsi aggiunti:
    • VectorDrawableCompat
    • AnimatedVectorDrawableCompat
  • Aggiunge il supporto di VectorDrawable asset alle app in esecuzione con il livello API 7 o superiore. AnimatedVectorDrawable asset sono supportati anche con livello API 11 o superiore. Gli asset vettoriali possono essere notevolmente più piccoli rispetto agli asset immagine e dovrebbe aiutare a ridurre riducendo la quantità di asset necessari per supportare più dagli schermi dei dispositivi.
  • Questa libreria è ora una dipendenza della libreria AppCompat v7, che consente sviluppatori e AppCompat per utilizzare facilmente drawable vettoriali. Per utilizzare VectorDrawableCompat in ImageButton o ImageView, utilizza il file XML app:srcCompat o setImageResource() .
  • Per continuare a fare riferimento agli ID degli attributi nel livello API 20 o in basso, aggiungi il seguente flag appt al file build,gradle:
    • Se crei con il plug-in Android per Gradle 1.5.0 o in basso, aggiungi quanto segue al file build.gradle:
    • android {
        defaultConfig {
          // Stops the Gradle’s automatic rasterization of vectors
          generatedDensities = []
        }
         // Flag that tells aapt to keep the attribute ids
        aaptOptions {
          additionalParameters "--no-version-vectors"
        }
      }
      
    • Se crei con il plug-in Android per Gradle 2.0.0 o più in alto, aggiungi quanto segue al file build.gradle:
    • android {
        defaultConfig {
          vectorDrawables.useSupportLibrary = true
        }
      }
      
Modifiche relative a Leanback v17 Raccolta:
  • Aggiunta di nuove funzionalità a GuidedStepFragment, che è un componente che guida gli utenti attraverso una o una serie di decisioni:
    • Azioni del pulsante aggiunte a GuidedAction:
      • GuidedStepFragment.setButtonActions(): consente di impostare un elenco di GuidedAction pulsanti che che l'utente può selezionare dalla visualizzazione Azioni.
    • Ora i campi della descrizione sono modificabili:
      • GuidedAction.Builder.descriptionEditable(): al superamento true, imposta la descrizione dell'azione in modo che sia modificabile.
      • GuidedAction.getEditDescription(): restituisce l'elemento modificabile descrizione come CharSequence.
    • Elenchi a discesa di azioni secondarie aggiunti:
      • GuidedAction.setSubActions(): consente di impostare un elenco GuidedAction come menu a discesa menu di azioni secondarie.
  • È stato aggiunto il widget GuidedDatePickerAction per la funzionalità DatePicker:
    • La data viene selezionata utilizzando le colonne anno, mese e giorno e ha un un intervallo personalizzabile.
    • GuidedDatePickerAction.Builder: classe del builder per l'oggetto GuidedDatePickerAction.
    • GuidedDatePickerAction.Builder.datePickerFormat(String datePickerFormat): imposta il formato data che preferisci trasmettendo il valore String di tre caratteri appropriato, ad esempio “YMD” o “MDY”. In alternativa, utilizza l'attributo XML datePickerFormat.
Modifiche per v7 RecyclerView raccolta:
  • Per RecyclerView è ora disponibile un'attivazione chiamata AutoMisurare, che consente a RecyclerView.LayoutManager di aggregare facilmente contenuti o gestire varie specifiche di misurazione fornite dai principale di RecyclerView. it supporta tutte le funzionalità di animazione esistenti di RecyclerView.
    • Se hai un'entità RecyclerView.LayoutManager personalizzata, chiama setAutoMeasureEnabled(true) per iniziare a usare il nuovo API AutoMeasurement. Tutti gli oggetti RecyclerView.LayoutManager integrati attivare la misurazione automatica per impostazione predefinita.
    • RecyclerView.LayoutManager non ignora più alcune impostazioni di RecyclerView.LayoutParams, ad esempio MATCH_PARENT nella direzione di scorrimento.

      Nota:l'eliminazione di queste limitazioni potrebbe causare comportamenti imprevisti nei layout. Assicurati di specificare i parametri di layout corretti.

  • Durante l'aggiornamento di un RecyclerView.ViewHolder con payload informazioni, DefaultItemAnimator ora disattiva le animazioni di modifica.
  • Ora puoi modificare la velocità di fuga di ItemTouchHelper in controlla la sensibilità dello scorrimento. Per semplificare o meno lo scorrimento, sostituisci getSwipeEscapeVelocity(float defaultValue) e modifica defaultValue.

Revisione 23.1.1

Novembre 2015

Modifiche per la libreria Recyclerview v7:
  • È stato risolto un arresto anomalo che si verificava quando si eseguiva un'azione di scorrimento per ignorare l'operazione La classe di utilità ItemTouchHelper fornisce, quindi aggiungi un elemento. (Problema 190500)
Modifiche per la libreria di preferenze v7:
  • È stato risolto un problema relativo all'utilizzo di ProGuard. (Numero 183261)
Modifiche per la libreria di supporto Leanback v17:
  • Sono stati risolti diversi problemi interni in questa libreria.
Modifiche per la libreria di supporto al design:
  • È stato aggiunto il metodo getHeaderView alla classe NavigationView.
  • È stato risolto un problema di sfondo trasparente per un oggetto FloatingActionButton su dispositivi con Android 4.0 (livello API 15) e versioni precedenti. (Numero 183315)

Revisione 23.1.0

Ottobre 2015

Modifiche per la libreria di assistenza v4:
  • È stato aggiunto il supporto dell'interfaccia OnScrollChangedListener alla Widget NestedScrollView. it consente di ricevere richiamati quando le posizioni X o Y di scorrimento cambiano.
  • È stato aggiunto un corso MediaButtonReceiver per inoltrare i controlli di riproduzione ricevuti a un servizio che gestisce la classe MediaSessionCompat. La MediaSessionCompat corso ha un in grado di trovare automaticamente un ricevitore di pulsanti multimediali nel file manifest. R il ricevitore del pulsante multimediale è un componente fondamentale per la gestione controlli di riproduzione da hardware o Bluetooth.
Modifiche per la libreria appcompat v7:
  • Sono stati aggiunti i widget Seekbar e ImageButton di material design.
  • Il widget ImageView è stato aggiornato per supportare la funzionalità Tinta.
  • Aspetto e design del widget SwitchCompat aggiornato.
Modifiche per la libreria mediarouter v7:
  • Sono state aggiunte le seguenti funzionalità al corso MediaRouteChooserDialog:
    • Viene visualizzata una pagina in caricamento durante il rilevamento dei fornitori di route multimediali.
    • Include un'icona del tipo di dispositivo per identificarlo più facilmente.
    • Ordina le route in base alla frequenza di utilizzo nell'app corrente.
    • Supporta la modalità Orizzontale.
  • Sono state aggiunte le seguenti funzionalità al corso MediaRouteControllerDialog:
    • Riconosce la trasmissione dello schermo e fornisce una descrizione adeguata.
    • Supporta copertine di album di varie dimensioni e proporzioni e carica la copertina in modo asincrono.
    • Seleziona automaticamente il colore dei contenuti in base al colore principale dell'app.
    • Consente di regolare il layout delle finestre di dialogo in base allo spazio disponibile sullo schermo del dispositivo.
    • Supporta la modalità Orizzontale.
Modifiche alla libreria tavolozza v7:
  • È stato aggiunto il metodo setRegion() per supportare l'estrazione del colore da una specifica regione di un oggetto Bitmap.
Modifiche per la libreria Recyclerview v7:
  • È stata aggiunta un'API di animazione migliorata alla classe ItemAnimator per migliorare personalizzazioni:
    • Le animazioni di modifica non applicano più due copie dell'oggetto ViewHolder, che abilita le animazioni dei contenuti degli elementi. Inoltre, l'oggetto ItemAnimator decide se riutilizzare lo stesso oggetto ViewHolder o creare un uno nuovo.
    • La nuova API di record di informazioni offre la flessibilità alla classe ItemAnimator per raccogliere i dati nel punto corretto del ciclo di vita del layout. Queste informazioni sono successive passati ai callback animati.
  • È stato fornito un piano di transizione semplice per questa modifica dell'API non compatibile con le versioni precedenti:
    • Se hai già esteso il corso ItemAnimator, puoi modificare la tua classe base su SimpleItemAnimator e il tuo codice dovrebbe funzionare come prima. La classe SimpleItemAnimator fornisce l'API precedente eseguendo il wrapping della nuova API.
    • Alcuni metodi sono stati rimossi dalla classe ItemAnimator. Le seguenti non verrà più compilato:
    • Kotlin

      recyclerView.itemAnimator.supportsChangeAnimations = false
      

      Java

      recyclerView.getItemAnimator().setSupportsChangeAnimations(false)
      

      Puoi sostituirlo con:

      Kotlin

      val animator: SimpleItemAnimator? = recyclerView.itemAnimator as? SimpleItemAnimator
      animator?.supportsChangeAnimations = false
      

      Java

      ItemAnimator animator = recyclerView.getItemAnimator();
      if (animator instanceof SimpleItemAnimator) {
         ((SimpleItemAnimator) animator).setSupportsChangeAnimations(false);
      }
      
Modifiche relative a v7, v14 e v17 Libreria di supporto delle preferenze:
  • Rimosse le API per il controllo delle finestre di dialogo EditText.
Modifiche per la libreria di supporto Leanback v17:
  • È stata aggiunta una versione della classe GuidedStepFragment per la libreria di assistenza (estende android.support.v4.app.Fragment), nonché animazioni e transizioni.
  • È stato aggiornato il corso GuidedStepFragment in modo che possa essere posizionato sopra a contenuti esistenti.
  • È stata aggiunta la possibilità di annotare diversi tipi di completamenti di ricerca nella scheda SearchFragment corso.
  • Aggiunto il supporto per la transizione sfalsata delle slide a VerticalGridFragment .
Modifiche per la libreria di supporto al design:
  • Aggiunti il conteggio dei caratteri per il widget TextInputLayout.
  • Aggiunto il supporto per l'aggancio dei bordi alla classe AppBarLayout aggiungendo il costante di SCROLL_FLAG_SNAP. Al termine dello scorrimento, se la visualizzazione parzialmente visibile, la visualizzazione è agganciata e fatta scorrere fino al bordo più vicino.
  • Aggiunto il supporto per le visualizzazioni personalizzate al corso NavigationView utilizzando il Attributo app:actionLayout o MenuItemCompat.setActionView() .
Modifiche per la libreria di supporto delle schede personalizzate:
  • Metodo enableUrlBarHiding() aggiunto a CustomTabsIntent . Consente al client di personalizzare se la barra dell'URL deve essere nascosta automaticamente scorri verso il basso.
  • Metodo setActionButton() aggiunto a CustomTabsSession . Consente al client modificare l'icona di un pulsante di azione personalizzato in una scheda personalizzata già aperta.
  • Sono state aggiunte le costanti TAB_SHOWN e TAB_HIDDEN come nuovi eventi per il metodo onNavigationEvent di CustomTabsCallback .

Revisione 23.0.1

Settembre 2015

Modifiche per v7 e v14 Libreria Supporto delle preferenze:
  • Sono stati aggiunti i file di Material Design e di stile. (Numero 183376)
Modifiche per la libreria appcompat v7:
  • Sono stati risolti i problemi di arresto anomalo per la classe Fragment limitando l'uso di hardware ad Android 4.1 (livello API 16) e versioni successive. (Numero 183896)
  • Risolto un problema per cui i pulsanti hardware non funzionavano dopo che un'attività aveva impostato Toolbar per fungere da ActionBar utilizzando il metodo setSupportActionBar(). (Numero 183334)
  • Il corso AppCompatDialogFragment è stato aggiornato in modo che sia corretto non genera più Windows feature must be requested before adding content . (Numero 183186)
Modifiche per la libreria di supporto al design:
  • È stato corretto il AppBarLayout classe in modo che ora venga tracciata correttamente dopo la rotazione. (Numero 183109)
  • È stato corretto il TabLayout di classe in modo che ora si comporti correttamente quando l'utente fa clic dopo uno scorrimento. (Numero 183123)
Modifiche per la libreria di supporto delle schede personalizzate:

Revisione 23

Agosto 2015

Sono state aggiunte nuove librerie di supporto:

Per un elenco completo delle modifiche apportate alla Libreria di supporto, consulta Assistenza Report sulle differenze dell'API della libreria.

Revisione 22.2.1

Luglio 2015

Modifiche per la libreria di supporto al design:
  • Sono stati aggiunti i metodi hide() e show() a Corso FloatingActionButton per la pubblicità programmatica l'attivazione di animazioni.
  • È stata aggiunta la costante LENGTH_INDEFINITE alla Snackbar lezione per mostrare una snackbar fino a quando non viene chiuso o viene visualizzata un'altra snackbar. Inoltre, è stato aggiunto il parametro setActionTextColor(int) e setActionTextColor(ColorStateList) di machine learning.
  • È stato aggiunto il metodo getSelectedTabPosition() a TabLayout classe per recuperare l'elemento attualmente scheda selezionata.
  • È stata fornita un'API completa per la android.support.v7.app.NotificationCompat.MediaStyle classe per il metodo concatenamento.
  • Sono stati aggiunti metodi pratici RecyclerView per l'inserimento collettivo degli elementi.

Per un elenco completo delle modifiche apportate alla Libreria di supporto, consulta Assistenza Report sulle differenze dell'API della libreria.

Revisione 22.2.0

Maggio 2015

È stata aggiunta la libreria di supporto design:
  • TextInputLayout aggiunto per la visualizzazione Testo del suggerimento e dell'errore EditText come etichette mobili.
  • È stato aggiunto FloatingActionButton per l'implementazione di un l'azione principale sull'interfaccia come pulsante di azione mobile, che supporta dimensioni predefinite o mini.
  • Aggiunta di Snackbar per la leggerezza feedback con un'azione facoltativa in una snackbar animata.
  • È stato aggiunto TabLayout per l'implementazione di correzioni scorrevole schede e semplici integrazione con ViewPager.
  • NavigationView aggiunto per l'implementazione riquadro di navigazione a scomparsa contenuti, inclusa la possibilità di aumentare in modo artificioso le voci di menu tramite Risorsa del menu:
  • CoordinatorLayout (uso generico) aggiunto utilizzato per creare dipendenze tra viste gemelle e consentire reazioni di scorrimento facili tra i componenti tramite CoordinatorLayout.Behavior. Molti dei design I componenti della libreria si basano sull'essere elementi secondari di CoordinatorLayout.
  • AppBarLayout aggiunto, un contenitore per un Toolbar e altre visualizzazioni (ad esempio TabLayout) per reagisci agli eventi di scorrimento scorrendo fuori dallo schermo, diventando così visibile nella reazione per scorrere verso il basso o comprimere/comprimere prima di scorrere verso l'esterno/sullo schermo.
  • Elemento CollapsingToolbarLayout aggiunto per il controllo come si comprime Toolbar. Una barra degli strumenti può comprimersi in base a: bloccare i componenti nella parte superiore dello schermo durante la compressione, introducendo scorrimento parallasse di componenti come ImageView, o aggiungere un colore della tela dei contenuti quando la visualizzazione è parzialmente compressa.
Modifiche per la libreria di supporto versione 4:
Modifiche per la libreria appcompat v7:

Per un elenco completo delle modifiche apportate alla Libreria di supporto, consulta Assistenza Report sulle differenze dell'API della libreria.

Revisione 22.1.0

Aprile 2015

Modifiche per la raccolta di annotazioni:
  • È stata aggiunta la libreria Annotazioni per fornire supporto per le ispezioni avanzate del codice. Le annotazioni vengono aggiunte come tag di metadati che associ a variabili, parametri, e restituiscono valori per esaminare i valori restituiti del metodo, i parametri passati e variabili e campi.
Modifiche per la libreria di supporto versione 4:
Modifiche per la libreria appcompat v7:
Modifiche per la libreria leanback v17:
Modifiche per la libreria Recyclerview v7:
  • Sono stati aggiunti SortedList corsi per visualizzare gli elementi in un ordine dell'elenco e inviare una notifica relativa alle modifiche apportate.
  • È stato aggiunto il corso SortedListAdapterCallback in grado di associare un elenco ordinato a un RecyclerView.Adapter corso.
Modifiche per la libreria renderingscript v8:

Revisione 22

Marzo 2015

Modifiche per la libreria di supporto versione 4:
Modifiche per la libreria appcompat v7:
Modifiche per la libreria leanback v17:
  • Sono stati aggiunti getRecycledPoolSize() e setRecycledPoolSize() metodi per consentire dimensioni personalizzate di piscine riciclate.
  • L'attributo WRAP_CONTENT è stato aggiunto a dell'impostazione di larghezza del layout per supportare i contenuti a capo per le icone dei titoli.
  • Valore di R.transition definito in XML in migliorare gli aggiornamenti relativi alle transizioni.
  • Supporto dei layout da destra a sinistra attivato.
  • È stato aggiunto il supporto per la riproduzione e la pausa degli eventi chiave multimediali alla PlaybackOverlayFragment corso.
  • Sono state aggiunte le transizioni Invio e Ritorno ai BrowseFragment e il DetailsFragment corso.
  • È stato aggiunto il metodo replace() per sostituire gli elementi nell'array adattatori di un oggetto.
Modifiche per la libreria mediarouter v7:
  • Sono state aggiornate le icone di Google Cast per l'utilizzo della material design.
  • Sono state aggiornate tutte le icone utilizzate nelle finestre di dialogo MediaRouter per usare la stile material design.
Modifiche per la libreria Recyclerview v7:

Revisione 21.0.3

Dicembre 2014

Modifiche per la libreria di supporto versione 4:

Revisione 21.0.2

Novembre 2014

Modifiche per la libreria di supporto versione 4:
Modifiche per la libreria appcompat v7:
  • È stato aggiunto il costruttore PopupMenu per supportare il nuovo popup menu.
  • È stato aggiunto il supporto della descrizione di un'icona Comprimi in Toolbar .
  • Il widget SearchView è stato aggiornato per supportare la visualizzazione commitIcon.
  • Attributo buttonGravity rimosso dal Toolbar corso.
Modifiche per la raccolta di cardview v7:
Modifiche per Recyclerview v7 raccolta:
Modifiche per la libreria leanback v17:
  • Aggiunto il supporto per generare frammenti di codice v4.
  • Colore del testo secondario modificato il giorno CardView.

Revisione 21.0.1

Novembre 2014

Aggiunta libreria di supporto multidex per supportare più File Dalvik eseguibili (DEX) per il supporto di file multi-dex precedenti ad Android 5.0.

Revisione 21

Ottobre 2014

Modifiche per la libreria di supporto versione 4:
  • Aggiunto il supporto per Fragment per i dispositivi con Android 5.0 (livello API 21). Tieni presente che le transizioni non hanno effetto sui dispositivi in esecuzione. Android 4.4 e versioni precedenti.
  • DocumentFile aggiunto alla facilità la transizione da File mentre lavori con le strutture di documenti. Tuttavia, questo corso richiede di elaborazione in più rispetto DocumentsContract API aggiunta in Android 4.4 (livello API 19). Pertanto, dovresti passare all'utilizzo di DocumentsContract se esegui Android 4.4 e superiori.
Modifiche relative a Compatibilità app v7 raccolta:
  • Aggiunto il supporto per materiale progettare le interfacce utente.
  • Aggiunta di Toolbar, che generalizza la funzionalità di ActionBar all'interno dei layout delle app.
  • Ultimo aggiornamento: ActionBarDrawerToggle, che contiene l'animazione "Menu-freccia"
  • Sono stati aggiornati i comuni widget dell'interfaccia utente per consentire la colorazione tramite tema su dispositivi precedenti ad Android 5.0
  • SwitchCompat aggiunto, un backport del widget Switch aggiunto in Android 4.0 (livello API 14).
Nuova libreria cardview v7:
  • È stato aggiunto il widget CardView, che offre un'implementazione compatibile con il material design di dati.
Nuova visualizzazione del riciclo v7 raccolta:
  • È stato aggiunto il widget RecyclerView, che offre una visualizzazione elenco flessibile per fornire una finestra limitata in un grande set di dati.
Nuova libreria tavolozza v7:
  • Aggiunto Palette corso, che ti consente di estrarre colori in risalto da un'immagine.
Nuova libreria leanback v17:

Revisione 20

Luglio 2014

Modifiche per la libreria di supporto versione 4:
  • Aggiunto il supporto esteso delle notifiche per Android Wear in NotificationCompat.WearableExtender, che ti consente per specificare funzionalità specifiche per i dispositivi indossabili nelle notifiche.
  • Aggiunto il giorno NotificationCompat.Action.WearableExtender, che consente di aggiungere azioni sulle notifiche indossabili.
  • È stato aggiunto NotificationManagerCompat, che ti consente per emettere notifiche che supportano correttamente le funzionalità indossabili.
  • Aggiunta di RemoteInput, che consente l'utilizzo di un dispositivo portatile per ricevere input vocale da una notifica visualizzata su un dispositivo indossabile.
  • È stata migliorata la gestione del feedback al tocco in SwipeRefreshLayout.

Revisione 19.1.0

Marzo 2014

Modifiche per la libreria di supporto versione 4:
  • Aggiunto il corso SwipeRefreshLayout, che consente agli utenti di aggiornare i contenuti di una vista con un gesto di scorrimento.
  • Sono stati risolti i problemi di accessibilità relativi ai riquadri di navigazione a scomparsa.
Modifiche per la libreria appcompat v7:
  • Sono stati risolti i problemi di sfondo della barra delle azioni.

Revisione 19.0.1

Dicembre 2013

Modifiche per la libreria di supporto versione 4:
  • È stato migliorato PrintHelper grazie all'aggiunta della funzione gestione della stampa.
  • È stata corretta l'approssimazione della classe DrawerLayout di addChildrenForAccessibility() .
  • È stato risolto il problema di mirroring della slide in ActionBarDrawerToggle.
  • È stato risolto il problema singolarmente durante la rimozione di un elemento da un iteratore di raccolte.
Modifiche per la libreria Mediarouter v7:
Modifiche per la libreria renderingscript v8
  • È stata aggiunta la propagazione degli errori per il livello di thunking di RenderScript.

Revisione 19

Ottobre 2013

Modifiche per la libreria di supporto versione 4:
Modifiche per la libreria Mediarouter v7:
  • Aggiunto il supporto per l'accodamento per la riproduzione di contenuti multimediali, l'impostazione dei valori dell'intestazione HTTP e dei contenuti multimediali la durata della riproduzione.
  • Aggiunta di azioni esplicite delle sessioni di inizio, ricezione e fine delle sessioni per la gestione esplicita dei contenuti multimediali sessioni di riproduzione con il router multimediale.

Revisione 18

Luglio 2013

Modifiche per la libreria di supporto versione 4:
  • Interfaccia utente
    • BidiFormatter aggiunto per la gestione stringhe di testo che combinano testo formattato da destra a sinistra e da sinistra a destra.
    • Hai modificato ViewPager per gestire meglio i casi in cui il cercapersone ha una larghezza misurata pari a zero nell'elaborazione iniziale del layout.
    • Hai modificato DrawerLayout e SlidingPaneLayout per non generare eccezioni per la misurazione durante la modifica del codice del progetto.
  • Funzioni di
  • Contenuti multimediali
    • È stato aggiunto TransportMediator corso helper da gestire controllo del trasporto multimediale, ad esempio riproduci, metti in pausa, salta e altre azioni dei contenuti multimediali.
    • Aggiunta di DisplayManagerCompat per la gestione mostrare l'output su uno o più display dei dispositivi.
  • Altre modifiche
    • È stato aggiunto WakefulBroadcastReceiver corso helper per implementare un pattern comune di rilevamento di un evento di riattivazione del dispositivo e di ignorare il lavoro a Service, assicurandoti che il dispositivo non ritorni su dormire prima del termine del trasferimento.
    • Aggiunte due nuove API, commitContentChanged() e rollbackContentChanged(), a AsyncTaskLoader per per gestire gli aggiornamenti in background relativi alle modifiche ai dati che vengono successivamente annullate.
Nuova libreria per app compatibili v7:
  • È stato aggiunto ActionBar per consentire l'implementazione dell'elemento design dell'interfaccia utente della barra delle azioni ad Android 2.1 (livello API 7) e versioni successive. L'utilizzo di questo corso richiede di implementare la tua attività estendendo i nuovi ActionBarActivity corso.
Nuova libreria Mediarouter v7:

È stata aggiunta una nuova libreria Mediarouter che fornisce supporto per l'anteprima per gli sviluppatori di Google Cast. Le API della libreria Mediarouter v7 forniscono un mezzo per controllare il routing dei i canali multimediali e gli stream dal dispositivo corrente a schermi esterni, speaker e altri dispositivi di destinazione, con compatibilità con Android 2.1 (livello API 7). Vedi la sezione V7 libreria Mediarouter per avere ulteriori informazioni.

API della libreria Mediarouter v7 introdotte nell'Assistenza La libreria r18 è soggetta a modifiche nelle successive revisioni dell'Assistenza Raccolta. Al momento, ti consigliamo di utilizzare la libreria solo insieme con Google Cast per gli sviluppatori.

Revisione 13

Maggio 2013

Modifiche per la libreria di supporto versione 4:
Nuova libreria layout griglia v7:
  • È stato aggiunto GridLayout per fornire assistenza per Oggetto layout GridLayout.
  • Aggiunta di android.support.v7.widget.Space che può essere utilizzata per creare aree vuote all'interno di un oggetto di layout GridLayout.

Revisione 12

Febbraio 2013

Modifiche per la libreria di supporto versione 4:
  • Comportamento dell'interazione migliorato per ViewPager.
  • È stato corretto un bug che causava la selezione da parte di ViewPager del pagina sbagliata.
  • Utilizzo corretto del metodo removeView() durante il layout di ViewPager.
  • È stato risolto il problema relativo a SearchViewCompat per cui si utilizzava il Indietro per chiudere non cancella il testo di ricerca. Questa correzione si applica solo a API host con livelli 14 e successivi.

Revisione 11

Novembre 2012

Modifiche per la libreria di supporto versione 4:

Revisione 10

Agosto 2012

Modifiche per la libreria di supporto versione 4:
  • Aggiunto il supporto per le funzionalità di notifica introdotte in Android 4.1 (livello API 16) con aggiunte a NotificationCompat.

Revisione 9

Giugno 2012

Modifiche per la libreria di supporto versione 4:
  • Supporto dell'interfaccia utente
    • È stato aggiunto il supporto PagerTabStrip, che offre funzionalità avanzate oltre PagerTitleStrip.
    • Sono stati corretti diversi bug per PagerTitleStrip e PagerTabStrip, inclusa l'opzione setAllCaps, allineamento del titolo, miglioramenti dell'aspetto, vincoli di larghezza minima e problemi di navigazione tramite tocco.
    • È stato aggiunto il supporto di ViewPager grondaie di pagine, che aiuta la classe ViewPager a fornire assistenza per il paging dei contenuti con un ampio intervallo di scorrimento orizzontale, come una mappa.
    • Sono stati corretti numerosi bug per ViewPager, incluse le dimensioni problemi relativi alle modifiche dei set di dati, posizionamento delle pagine, interazione dell'utente, monitoraggio dello scorrimento e tastiera per risolvere problemi di navigazione.
    • Sono stati corretti molti bug per Fragment, tra cui quelli corretti gestione di onActivityResult() quando il frammento target non esiste più, invio di eventi di selezione a frammenti invisibili, miglioramento Comportamento di FragmentTransaction.replace() e una migliore gestione dello stato per i frammenti spostati fuori dalla visualizzazione.
    • Aggiunto il supporto per il metodo postOnAnimation() in ViewCompat.
    • Aggiornamento di NavUtils per l'utilizzo di Android 4.1 (livello API 16) Funzionalità di navigazione superiore, se disponibile.
  • Funzioni di
    • Classi di supporto dell'accessibilità aggiornate, tra cui AccessibilityNodeInfoCompat, per seguire le correzioni apportate in Android 4.1 (livello API 16).
    • Aggiunto il supporto per le azioni di scorrimento dell'accessibilità in ViewPager.
  • Miglioramenti generali

Revisione 8

Aprile 2012

Modifiche per la libreria di supporto versione 4:
  • Flag di intent corretti per PendingIntent oggetti generati di TaskStackBuilder.
  • Sono stati rimossi gli attributi non utilizzati dai progetti della libreria gridlayout per assicurarti la libreria può essere creata con il livello API 7 o superiore.
  • Sono stati aggiunti i file .classpath e .project per il layout a griglia progetto libreria.

Revisione 7

Marzo 2012

Modifiche per la libreria di supporto versione 4:
  • È stato aggiunto ShareCompat, che offre corsi helper per l'invio e la ricezione di contenuti per applicazioni di condivisione sui social, inclusi nuovi metadati per attribuendo dati condivisi all'app di origine. Questa classe fornisce inoltre un'integrazione compatibile nuovo ShareActionProvider in Android 4.0.
  • Sono stati aggiunti NavUtils e TaskStackBuilder per fornire assistenza per l'implementazione Linee guida relative ad Android Design per la navigazione. Questi le aggiunte includono un modo per implementare il pulsante Su della barra delle azioni nelle varie versioni. Per un'implementazione di esempio di questo pattern, vedi l'esempio di AppNavigator in (<em><sdk></em>/samples/<em><platform></em>/AppNavigation)
  • È stato aggiunto NotificationCompat.Builder per fornire un implementazione della compatibilità della classe helper Notification.Builder di Android 3.0 per creare notifiche di sistema standardizzate.

Revisione 6

Dicembre 2011

Nota: ora è disponibile riferimento per le API della libreria di supporto con riferimento al framework, ad esempio: android.support.v4.app.

Modifiche per la libreria di supporto versione 4:
  • Modifiche a ViewPager:
    • Aggiunto un supporto aggiuntivo per la vista decorativa per ViewPager. Le viste decorative possono essere fornite come visualizzazioni secondarie di un pager nel layout XML.
    • È stato aggiunto PagerAdapter.getPageTitle() per fornire le stringhe del titolo per le pagine; per impostazione predefinita, l'attributo è no titolo di ogni pagina.
    • È stato aggiunto PagerTitleStrip, un titolo non interattivo , che può essere aggiunta come elemento secondario di ViewPager. Gli sviluppatori possono fornire testo aspetto e colore, nonché informazioni su dimensioni del layout e gravità.
    • Aggiornamento di PagerAdapter metodi per utilizzare ViewGroup anziché View per evitare la trasmissione di classi nelle implementazioni dell'adattatore.
    • Aggiornamento di ViewPager per l'uso della modalità Avvio app un comportamento flebile.
    • Correzioni di bug relative all'interazione con l'interfaccia utente e all'automazione dei test.
  • Supporto per i frammenti:
    • Metodo setStartDeferred() cambiato in setUserVisibleHint(boolean).
    • È stato aggiunto un avvio differito per le pagine fuori schermo per migliorare le prestazioni.
  • Supporto per le API Accessibility:
    • AccessibilityDelegateCompat metodi aggiornati per restituire elenchi vuoti anziché null.
    • Sono state aggiunte nuove API necessarie per gli esempi della versione 4.

Revisione 5

Dicembre 2011

Modifiche per la libreria di supporto versione 4:

Revisione 4

Ottobre 2011

Modifiche per la libreria di supporto versione 4:
  • Elemento EdgeEffectCompat aggiunto a supporta EdgeEffect.
  • Aggiunta di LocalBroadcastManager per semplificare la gestione delle applicazioni registrarsi e ricevere intent con un'unica domanda senza trasmettendole a livello globale.
  • Aggiunto in ViewCompat il supporto per il controllo e l'impostazione dell'overscroll modalità per View su Android 2.3 e versioni successive.
  • Modifiche alle API Fragment:
    • Aggiunte nuove API per controllare la visibilità dei nuovi menu.
    • Aggiunte API di animazione personalizzate.
    • Sono state aggiunte API in FragmentActivity per mantenere dell'istanza non di configurazione.
    • Correzione di vari bug.
  • È stato corretto un bug di Loader che ha causato problemi in annulla AsyncTask quando viene eseguita su Froyo e versioni precedenti più versioni della piattaforma. L'assistenza ora utilizza la propria versione di AsyncTask per mantenere comportamento su tutte le versioni della piattaforma.

Revisione 3

Luglio 2011

Modifiche per la libreria di supporto versione 4:
  • Aggiunge il supporto per Fragment.SavedState
  • Aggiunge MotionEventCompat per supportare le API MotionEvent più recenti
  • Aggiunge VelocityTrackerCompat per supportare le API VelocityTracker più recenti
  • Aggiunge ViewConfigurationCompat per supportare le API ViewConfiguration più recenti
  • Tutte le nuove API (disponibili solo nella libreria di assistenza) che ti consentono di creare UI con il paging orizzontale, che consente agli utenti di scorrere verso sinistra e verso destra tra le visualizzazioni dei contenuti. Classi a al riguardo includono:
    • ViewPager: un ViewGroup che gestisce per le viste secondarie, che l'utente può visualizzare con lo scorrimento.
    • PagerAdapter: un adattatore che compila il ViewPager con il visualizzazioni che rappresentano ogni pagina.
    • FragmentPagerAdapter: un'estensione di PagerAdapter per la rotazione tra i frammenti.
    • FragmentStatePagerAdapter: un'estensione di PagerAdapter per passando da un frammento all'altro che utilizza il supporto della libreria per Fragment.SavedState.
Nuova libreria di supporto v13:
  • Include FragmentPagerAdapter e FragmentStatePagerAdapter per supportare il paging orizzontale.

    Sono esattamente le stesse API aggiunte alla libreria di supporto v4, ma si basano altri componenti della piattaforma in Android 3.2. Usa questa libreria anziché la versione 4 se stai sviluppando per Android 3.2 e versioni successive (tutte le altre API nella libreria v4 sono già disponibili con il livello API) 13).

Revisione 2

Maggio 2011

Modifiche per la libreria v4:

Revisione 1

Marzo 2011

Release iniziale con la libreria v4.