Componi materiale

Crea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
Aggiornamento più recente Release stabile Candidato per l'uscita Versione beta Release alpha
24 luglio 2024 1.6.8 - 1.7.0-beta06 -

Struttura

Compose è una combinazione di 7 ID gruppo Maven all'interno di androidx. Ogni gruppo contiene un sottoinsieme di funzionalità target, ciascuna con il proprio insieme di funzionalità note.

Questa tabella illustra i gruppi e i link a ciascun insieme di note di rilascio.

GruppoDescrizione
compose.animationCrea animazioni nelle applicazioni Jetpack Compose per arricchire l'esperienza utente.
compose.compilerTrasforma le funzioni @Composable e abilita le ottimizzazioni con un plug-in del compilatore Kotlin.
compose.foundationScrivi applicazioni Jetpack Compose con componenti di base pronti all'uso ed estende le basi per creare i tuoi componenti di sistema di progettazione.
compose.materialCrea UI di Jetpack Compose con componenti Material Design pronti per l'uso. Si tratta del punto di ingresso di livello superiore di Compose, progettato per fornire componenti corrispondenti a quelli descritti all'indirizzo www.material.io.
compose.material3Crea UI di Jetpack Compose con Material Design 3 Components, la prossima evoluzione di Material Design. Material 3 include temi e componenti aggiornati, nonché funzionalità di personalizzazione di Material You, come il colore dinamico, ed è progettato per essere coerente con il nuovo stile visivo e la nuova UI di sistema di Android 12.
compose.runtimeComponenti di base di base del modello di programmazione e della gestione dello stato di Compose, nonché del runtime principale per il targeting del plug-in Compose Compiler.
compose.uiI componenti fondamentali dell'UI di scrittura necessari per interagire con il dispositivo, tra cui layout, disegno e input,

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su Compose, devi aggiungere il Repository Maven di Google al tuo progetto. Consulta il Repository Maven di Google per ulteriori informazioni.

Aggiungi le dipendenze per gli artefatti necessari nel file build.gradle per l'app o il modulo:

trendy

dependencies {
    implementation "androidx.compose.material:material:1.6.8"
}

android {
    buildFeatures {
        compose true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

Kotlin

dependencies {
    implementation("androidx.compose.material:material:1.6.8")
}

android {
    buildFeatures {
        compose = true
    }

    composeOptions {
        kotlinCompilerExtensionVersion = "1.5.14"
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }
}

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

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Non esitare a contattarci in caso di nuovi problemi o idee per migliorare questa raccolta. Dai un'occhiata alle problemi esistenti in questa raccolta, prima di crearne uno nuovo. Puoi aggiungere il tuo voto a un problema esistente tramite facendo clic sul pulsante a forma di stella.

Crea un nuovo numero

Consulta la documentazione di Issue Tracker per ulteriori informazioni.

Versione 1.7

Versione 1.7.0-beta06

24 luglio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta06. La versione 1.7.0-beta06 contiene questi commit.

Versione 1.7.0-beta05

10 luglio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta05. La versione 1.7.0-beta05 contiene questi commit.

Versione 1.7.0-beta04

26 giugno 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta04. La versione 1.7.0-beta04 contiene questi commit.

Versione 1.7.0-beta03

12 giugno 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta03. La versione 1.7.0-beta03 contiene questi commit.

Versione 1.7.0-beta02

29 maggio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta02. La versione 1.7.0-beta02 contiene questi commit.

Modifiche alle API

  • API Update per l'applicazione di stili ai link: spostamento TextLinkStyles in TextStyle e rimozione di TextDefaults dal materiale (I5477b)

Versione 1.7.0-beta01

14 maggio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-beta01. La versione 1.7.0-beta01 contiene questi commit.

Modifiche alle API

  • È stata aggiornata l'API per ottenere link con temi Material in Testo. In particolare, sono stati rimossi i metodi da TextDefaults per la creazione di LinkAnnotations a tema e l'analisi dell'HTML con link a tema. È stata invece aggiunta una classe TextLinkStyles che consente di definire lo stile dei link come parametro del Testo componibile. (I31b93)

Versione 1.7.0-alpha08

1° maggio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha08. La versione 1.7.0-alpha08 contiene questi commit.

Modifiche alle API

  • Correggi il problema che backgroundColor non si applica a TextFieldDecorationBox e OutlinedTextFieldDecorationBox. I riquadri decorativi ora accettano un parametro shape. (I371c2, b/307694651)
  • RippleConfiguration#isEnabled è stato rimosso e LocalRippleConfiguration è stato reso null. Per disattivare un eco, invece di fornire un RippleConfiguration con isEnabled = false, specifica null a LocalRippleConfiguration. (I22725)
  • I link di testo hanno un'opzione di stile con stato premuto, oltre allo stile normale, con passaggio del mouse e elemento attivo. I metodi TextDefaults hanno ciascuno un argomento pressedStyle a supporto. (Ic473f, b/139312671)

Correzioni di bug

  • La spaziatura interna superiore OutlinedTextField per l'etichetta ora tiene conto delle dimensioni dei caratteri del sistema. (Idc781)

Versione 1.7.0-alpha07

17 aprile 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha07. La versione 1.7.0-alpha07 contiene questi commit.

Modifiche alle API

  • Per i link di testo è stata attivata l'opzione di stile per lo stato selezionata, oltre allo stile normale, con il passaggio del mouse e lo stato attivo. (I5f864, b/139312671)
  • È stato aggiunto un oggetto TextDefaults contenente metodi per creare una LinkAnnotation e analizzare la stringa con tag HTML che applica MaterialTheme ai link. (I98532, b/139312671)

Versione 1.7.0-alpha06

3 aprile 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha06. La versione 1.7.0-alpha06 contiene questi commit.

Annuncio

  • androidx.compose.material non richiede più l'utilizzo della stessa versione di ogni artefatto è questo gruppo di esperti. Gli utenti possono combinare le versioni delle librerie di base di Compose (Ie5fba)

Modifiche alle API

  • Altri valori predefiniti ModalDrawer e BottomDrawer spostati nell'oggetto DrawerDefaults. (Ib5b2e).

Versione 1.7.0-alpha05

20 marzo 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha05. La versione 1.7.0-alpha05 contiene questi commit.

Modifiche alle API

  • Il flag ScaffoldSubcomposeInMeasureFix è stato rimosso. (I67363)

Versione 1.7.0-alpha04

6 marzo 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha04. La versione 1.7.0-alpha04 contiene questi commit.

Nuove funzionalità

Versione 1.7.0-alpha03

21 febbraio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha03. La versione 1.7.0-alpha03 contiene questi commit.

Modifiche alle API

  • BottomDrawer è stato promosso da sperimentale a stabile. BottomDrawerState ora mostra l'avanzamento come funzione, consentendo di eseguire query sull'avanzamento tra target specifici. BottomDrawerState ora consente di personalizzare le specifiche dell'animazione e confirmStateChange non è più una lambda finale. (I9c029, b/261423850)
  • BackdropScaffold è stato promosso da sperimentale a stabile. Secondo le linee guida, la specifica dell'animazione è ora una specifica tween. Il parametro snackbarHost di BackdropScaffold non è più l'ultimo parametro per evitare confusione con le lambda finali. BackdropScaffoldState espone un'API progress(from, to) per l'avanzamento della query tra gli ancoraggi. (I73f48, b/261423218)
  • I fogli inferiori standard sono stati promossi da sperimentale a stabile. I costruttori deprecati sono stati rimossi. La specifica dell'animazione è ora una specifica di interpolazione secondo le linee guida. (I3c1a8, b/278692145, b/261409034)
  • I fogli inferiori modali sono stati promossi da sperimentali a stabili. I costruttori deprecati sono stati rimossi. Secondo le linee guida, la specifica dell'animazione è ora una specifica tween. (Ic53f4, b/278692145, b/266780235, b/261409034)

Correzioni di bug

  • È stato risolto un problema per cui BackdropScaffold poteva arrestarsi in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I51396)
  • Rimossa la sottocomposizione all'interno di BottomSheetScaffold per migliorare le prestazioni. È stato risolto un problema per cui BottomSheetScaffold si arrestava in modo anomalo in scenari specifici in combinazione con LookaheadScope. (I2f90c)
  • Rimossa la sottocomposizione all'interno di ModalBottomSheetLayout, per migliorare il rendimento. (I7a025)

Versione 1.7.0-alpha02

7 febbraio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha02. La versione 1.7.0-alpha02 contiene questi commit.

Versione 1.7.0-alpha01

24 gennaio 2024

Viene rilasciato androidx.compose.material:material-*:1.7.0-alpha01. La versione 1.7.0-alpha01 contiene questi commit.

Cambiamenti del comportamento

  • È stata eseguita la migrazione dei componenti Material per utilizzare le nuove API Ripple e non eseguire più query su RippleTheme.

Modifiche alle API

  • rememberRipple e RippleTheme sono stati deprecati da material-ripple, con nuove API ripple e RippleConfiguration aggiunte alle librerie dei sistemi di progettazione dei materiali e di altro tipo.

  • I componenti del materiale che in precedenza accettavano un valore MutableInteractionSource e che per impostazione predefinita memorizzavano { MutableInteractionSource() } ora accettano un valore MutableInteractionSource con valore nullo, che viene invece impostato su null per impostazione predefinita. Se non stai sollevando e utilizzando MutableInteractionSource, devi passare null. Ciò consente ad alcuni componenti di creare un'istanza in modo lento solo quando necessario, migliorando le prestazioni. Ti consigliamo inoltre di apportare modifiche simili nei tuoi componenti.

Versione 1.6

Versione 1.6.8

12 giugno 2024

Viene rilasciato androidx.compose.material:material-*:1.6.8. La versione 1.6.8 contiene questi commit.

Versione 1.6.7

1° maggio 2024

Viene rilasciato androidx.compose.material:material-*:1.6.7. La versione 1.6.7 contiene questi commit.

Versione 1.6.6

17 aprile 2024

Viene rilasciato androidx.compose.material:material-*:1.6.6. Nessuna modifica dall'ultima release.

Versione 1.6.5

3 aprile 2024

Viene rilasciato androidx.compose.material:material-*:1.6.5. La versione 1.6.5 contiene questi commit.

Versione 1.6.4

20 marzo 2024

Viene rilasciato androidx.compose.material:material-*:1.6.4. La versione 1.6.4 contiene questi commit.

Versione 1.6.3

6 marzo 2024

Viene rilasciato androidx.compose.material:material-*:1.6.3. La versione 1.6.3 contiene questi commit.

Correzioni di bug

  • Correggi la regressione in ExposedDropdownMenu per renderla di nuovo attivabile. (c0e0ed, b/323694447)

Versione 1.6.2

21 febbraio 2024

Viene rilasciato androidx.compose.material:material-*:1.6.2. La versione 1.6.2 contiene questi commit.

Versione 1.6.1

7 febbraio 2024

Viene rilasciato androidx.compose.material:material-*:1.6.1. La versione 1.6.1 contiene questi commit.

Versione 1.6.0

24 gennaio 2024

Viene rilasciato androidx.compose.material:material-*:1.6.0. La versione 1.6.0 contiene questi commit.

Versione 1.6.0-rc01

10 gennaio 2024

Viene rilasciato androidx.compose.material:material-*:1.6.0-rc01. La versione 1.6.0-rc01 contiene questi commit.

Versione 1.6.0-beta03

13 dicembre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-beta03. La versione 1.6.0-beta03 contiene questi commit.

Versione 1.6.0-beta02

29 novembre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-beta02. La versione 1.6.0-beta02 contiene questi commit.

Versione 1.6.0-beta01

15 novembre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-beta01. La versione 1.6.0-beta01 contiene questi commit.

Versione 1.6.0-alpha08

18 ottobre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha08. La versione 1.6.0-alpha08 contiene questi commit.

Modifiche alle API

  • Ritirare una funzione materialIcon in favore del suo sovraccarico che accetta un parametro autoMirror. (Ia338d)

Correzioni di bug - Aumento automatico dell'altezza dell'elemento di navigazione per contenuti di grandi dimensioni. (0c4ecc, b/272336962)

Versione 1.6.0-alpha07

4 ottobre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha07. La versione 1.6.0-alpha07 contiene questi commit.

  • Aggiornamenti delle dipendenze

Versione 1.6.0-alpha06

20 settembre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha06. La versione 1.6.0-alpha06 contiene questi commit.

Cambiamento che interrompe il comportamento

  • Funzionalità relativa al riquadro a scomparsa rimossa da BottomSheetScaffold. Avvolgi BottomSheetScaffold in un componibile a cassetto per ottenere la funzionalità precedente. Vedi BottomSheetScaffoldWithDrawerSample per un esempio. (I1dcc8)

Modifiche alle API

  • È stato introdotto un flag temporaneo per stabilire se lo strumento Scaffold deve misurare gli elementi secondari durante la misurazione o il posizionamento. Per impostazione predefinita, viene eseguita la misurazione. Se stai riscontrando problemi con il nuovo comportamento, segnalalo. (If6e3b).

Versione 1.6.0-alpha05

6 settembre 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha05. La versione 1.6.0-alpha05 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto delle icone con mirroring automatico quando vengono visualizzate in layout da destra a sinistra. Le icone nei moduli material-icon-core e material-icone estese ora forniscono set di icone aggiuntivi per supportare il mirroring automatico quando l'icona lo consente. I nuovi set contengono il prefisso Icons.AutoMirrored.Filled... e così via e le icone di blocco verranno visualizzate automaticamente nei layout RTL. Consulta l'elenco delle icone Material per consultare l'elenco delle icone che possono (e devono) essere speculari per la visualizzazione.

Modifiche alle API

  • È stato aggiunto il supporto delle icone con mirroring automatico quando vengono visualizzate in layout da destra a sinistra. Le icone nei moduli material-icon-core e material-icone estese ora forniscono set di icone aggiuntivi per supportare il mirroring automatico quando l'icona lo consente. I nuovi set contengono il prefisso Icons.AutoMirrored.Filled... e così via e le icone di blocco verranno visualizzate automaticamente nei layout RTL. Consulta l'elenco delle icone Material per consultare l'elenco delle icone che possono (e devono) essere speculari per la visualizzazione. Le proprietà fornite in precedenza per queste icone sono ora contrassegnate come deprecate e viene fornito un suggerimento di blocco sostitutivo per facilitare la migrazione. Se non disponi di una gestione speciale per le icone di mirroring su RTL, ti consigliamo di eseguire la migrazione al nuovo insieme di icone. Ad esempio, è necessario eseguire il refactoring di Icons.Filled.ArrowBack in Icons.AutoMirrored.Filled.ArrowBack. (I4b511).

Versione 1.6.0-alpha04

23 agosto 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha04. La versione 1.6.0-alpha04 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui alcuni componenti che utilizzano Subcomposition (ad es. BottomSheetScaffold) all'interno di un'impalcatura all'interno di un LookaheadScope tentavano di leggere troppo presto le proprie dimensioni. (If2c5d).
  • È stato corretto il calcolo del valore offset di DropdownMenu in modo che gli offset x dipendano esclusivamente dalla direzione del layout locale e gli offset y non vengano più invertiti quando il menu si trova nella parte inferiore dello schermo. (ICC74, b/294103942)
  • Sono stati ottimizzati gli interni del layout di BottomSheetScaffold e risolto un potenziale problema relativo a BottomSheetScaffold all'interno di un LookaheadLayout. (Ic0afa)

Versione 1.6.0-alpha03

9 agosto 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha03. La versione 1.6.0-alpha03 contiene questi commit.

Modifiche alle API

  • I componenti Material2 ora hanno un'API separata per passare windowInsets al supporto della funzionalità edge-to-edge in Android. A differenza dei componenti material3, i componenti material2 non supportano gli inserti per impostazione predefinita e il valore deve essere passato manualmente. Per indicazioni, consulta gli esempi corrispondenti. (I655e8)

Versione 1.6.0-alpha02

26 luglio 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha02. La versione 1.6.0-alpha02 contiene questi commit.

Modifiche alle API

  • Sposteremo la dipendenza della densità a livello di componente. Questo vale per i seguenti componenti: SwipeToDismiss e componenti basati su Fogli. Utilizza il nuovo sovraccarico fornito in cui la densità è un parametro. (I1846e)
  • Annotazioni aggiuntive per specificare gli input consentiti per i componibili (I51109)
  • File API aggiornati per annotare l'eliminazione della compatibilità (I8e87a, b/287516207)
  • È stato aggiunto un nuovo allineamento Avvia per FabPosition (Ib7aea, b/170592777)
  • TextFieldColorsWithIcons in Material 2 è stato ritirato e sostituito con TextFieldColors. Quando esegui l'override di leadingIconColor o trailingIconColor, esegui l'override anche dell'overload con interactionSource. (Id57ed, b/199377790)

Versione 1.6.0-alpha01

21 giu 2023

Viene rilasciato androidx.compose.material:material-*:1.6.0-alpha01. La versione 1.6.0-alpha01 contiene questi commit.

Cambiamenti del comportamento

  • includeFontPadding ora è false per impostazione predefinita nella tipografia Material 2. Anche lo stile predefinito di altezza della riga è stato modificato in Trim.None e Alignment.Center e lineHeight esplicito (in sp) è stato aggiunto ai TextStyle di Typography. Consulta la documentazione relativa all'API se vuoi personalizzare questi valori e il post del blog per una spiegazione approfondita di queste modifiche. (Icabc3, I3f801, I04c03)

Modifiche alle API

  • Le API Swipeable di Material sono state ritirate. Fai riferimento alle API AnchoredDraggable di Foundation, ottimizzate per casi d'uso semplici e complessi. (I732e0)

Correzioni di bug

  • BottomSheetState, ModalBottomSheetState e BottomDrawerState ora mostrano una proprietà di avanzamento che indica lo stato di avanzamento tra l'ancoraggio corrente (stabilito) e l'ancoraggio più vicino nella direzione di scorrimento. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Versione 1.5

Versione 1.5.4

18 ottobre 2023

Viene rilasciato androidx.compose.material:material-*:1.5.4. La versione 1.5.4 contiene questi commit.

Versione 1.5.3

4 ottobre 2023

Viene rilasciato androidx.compose.material:material-*:1.5.3. Questa versione non presenta modifiche

Versione 1.5.2

27 settembre 2023

Viene rilasciato androidx.compose.material:material-*:1.5.2. La versione 1.5.2 contiene questi commit.

Versione 1.5.1

6 settembre 2023

androidx.compose.material:material-*:1.5.1 viene rilasciato senza modifiche. La versione 1.5.1 contiene questi commit.

Versione 1.5.0

9 agosto 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0. La versione 1.5.0 contiene questi commit.

Modifiche importanti dalla versione 1.4.0

Modifiche alle API

  • Modifiche incorporate nelle API Swipeable1 in BottomSheetScaffold. Il parametro confirmStateChange di BottomSheetState è stato rinominato in confirmValueChange. progress è ora esposto come valore in virgola mobile. animateTo e snapTo sono interni. Usa invece expand() e collapse(). direction e overflow sono stati rimossi. offset è stato sostituito con requireOffset(). I323B4
  • Contrassegna la funzione snapTo in Riquadro a scomparsa come API non sperimentale. (Ib9c18, b/261425368)
  • È stato aggiunto un parametro per il colore della traccia per gli indicatori di avanzamento circolari e un parametro per il limite del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver e confirmStateChange di rememberModalBottomSheetState sono stati rinominati in confirmValueChange. (Ib48d1).
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per prenotare una dimensione di almeno 48.dp per distinguere le interazioni di tocco nel caso in cui l'elemento abbia dimensioni inferiori. (I33f58, b/258495559)
  • Modifiche incorporate nelle API Slideable in ModalBottomSheetLayout. L'elemento animatoTo di ModalBottomSheetState non accetta più un parametro animationSpec e l'offset esposto è ora annullabile. Utilizza requireOffset per richiedere l'offset. (Ia2e79)
  • Aggiunta dell'annotazione @JvmDefaultWithCompatibility (I8f206)
  • Le modifiche incorporate nelle API scorrevoli in animateTo di ModalDrawer. DrawerState sono state sostituite dai metodi di apertura e chiusura e ora l'offset è annullabile. Utilizza requireOffset per richiedere l'offset. (I3de9e)
  • Aggiornati cassetti e fogli per ritardare correttamente le pressioni nel caso in cui i gesti possano diventare eventi di scorrimento.
  • È stato aggiunto il parametro minLines in material e testo material3, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)

Correzioni di bug

  • È stato risolto un problema per cui pullRefresh non consumava la velocità, causando la visualizzazione dell'overscroll. È stata anche modificata la firma dell'API della lambda onRelease in Modifier.pullRefresh per restituire un valore in virgola mobile per la velocità consumata (I7db65, b/266874741)
  • BottomSheetState, ModalBottomSheetState e BottomDrawerState ora mostrano una proprietà di avanzamento che indica lo stato di avanzamento tra l'ancoraggio corrente (stabilito) e l'ancoraggio più vicino nella direzione di scorrimento. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)
  • È stato risolto il problema che mostrava l'azione di ignorare AlertDialog sotto l'azione di conferma quando queste si sovrapponevano tra loro per rientrare nella larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277)
  • BottomSheetScaffold non parteciperà più allo scorrimento nidificato quando gesturesEnabled è impostato su false. (I634f3, b/215403277)
  • È stato corretto un bug per cui BottomSheetScaffold avrebbe avuto un arresto anomalo se fornito con contenuti vuoti per le aree annuncio. (Ib24a5, b/235588730)
  • Corregge PullRefreshIndicator che intercetta clic/eventi del puntatore. (2494256, b/271777421)
  • È stato risolto un problema per cui ModalBottomSheetLayout si arrestava in modo anomalo in un caso limite a seguito di un cambiamento di orientamento. Ora le animazioni di layout (ad es. Modifier.animateContentSize) nei contenuti del foglio funzionano senza problemi. (I2f981, b/266780234)

Versione 1.5.0-rc01

26 luglio 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-rc01. La versione 1.5.0-rc01 contiene questi commit.

Versione 1.5.0-beta03

28 giugno 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-beta03. La versione 1.5.0-beta03 contiene questi commit.

Correzioni di bug

  • BottomSheetState, ModalBottomSheetState e BottomDrawerState ora mostrano una proprietà di avanzamento che indica lo stato di avanzamento tra l'ancoraggio corrente (stabilito) e l'ancoraggio più vicino nella direzione di scorrimento. (I1b317, b/271169225, b/276375124, b/276776071, b/270066861)

Versione 1.5.0-beta02

7 giugno 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-beta02. La versione 1.5.0-beta02 contiene questi commit.

Versione 1.5.0-beta01

24 maggio 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-beta01. La versione 1.5.0-beta01 contiene questi commit.

Modifiche alle API

  • Per gli offset di DrawerState e BottomDrawerState non è più possibile specificare valori null. Restituiscono invece Float.NaN per indicare l'assenza dell'offset. (Ie9855)
  • È stata aggiunta un'opzione da passare in un ScrollState durante la creazione di un DropdownMenu o di un ExposedDropdownMenu per controllare lo stato di scorrimento verticale delle voci di menu visualizzate. (Idb009, b/185304441)
  • Aggiungi il supporto per attivare/disattivare il gesto di ModalBottomSheetLayout in modo che l'utente possa configurarlo per un riquadro inferiore più in primo piano (I40af0)
  • È stato aggiunto un parametro di colore a BasicText per consentire di animare o impostare in modo efficiente il colore del testo. (Iffd88, b/246961787)
  • Ridenominazione della proprietà semantica isContainer in isTraversalGroup (I121f6)

Correzioni di bug

  • È stato risolto il problema che mostrava l'azione di ignorare AlertDialog sotto l'azione di conferma quando queste si sovrapponevano tra loro per rientrare nella larghezza della finestra di dialogo. Questa correzione allinea l'implementazione alle specifiche di Material Design. (I029de, b/235454277)

Versione 1.5.0-alpha04

10 maggio 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-alpha04. La versione 1.5.0-alpha04 contiene questi commit.

Modifiche alle API

  • Sposteremo la dipendenza della densità a livello di componente. Questo vale per i seguenti componenti: BottomDrawer, ModalBottomSheetLayout, BottomSheetScaffold, Switch, ModalDrawer. Utilizza il nuovo sovraccarico fornito in cui la densità è un parametro. (I8fbd8)

Versione 1.5.0-alpha03

19 aprile 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-alpha03. La versione 1.5.0-alpha03 contiene questi commit.

Modifiche alle API

  • Aggiorna i componenti interni di BottomDrawer per utilizzare le nuove API SwipeableV2. Per questo motivo, BottomDrawerState ora avrà solo API definite a livello di classe e non erediterà metodi/proprietà da SwipeableState. Stiamo utilizzando la composizione con un elemento SwipeableV2State interno. Offset è ora una proprietà con rappresentazione in virgola mobile null. Il valore corrente e un valore target di scorrimento è ancora accessibile tramite le proprietà currentValue e targetValue. I metodi a livello di classe precedenti, come apertura/espansione/chiusura e proprietà come isOpen/isClosed, continuano a essere supportati. (Iad40c, b/178529942, b/220676296)

Correzioni di bug

  • Sono stati aggiornati i componenti interni del componente Switch. L'opzione ora mostrerà l'anteprima più vicina (stato target) durante il trascinamento. (ID90d4)
  • I contenuti animati dei fogli (ad es. Modifier.animateContentSize nei contenuti del foglio) in BottomSheetScaffold sono stati ottimizzati e ora funzionano senza problemi. (Ia913c, b/270518202, b/254446195)
  • BottomSheetScaffold non parteciperà più allo scorrimento nidificato quando gesturesEnabled è impostato su false. (I634f3, b/215403277)

Versione 1.5.0-alpha02

5 aprile 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-alpha02. La versione 1.5.0-alpha02 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug per cui BottomSheetScaffold avrebbe avuto un arresto anomalo se fornito con contenuti vuoti per le aree annuncio. (Ib24a5, b/235588730)
  • Corregge PullRefreshIndicator di intercettazione di clic / eventi puntatore (2494256, b/271777421)

Versione 1.5.0-alpha01

22 marzo 2023

Viene rilasciato androidx.compose.material:material-*:1.5.0-alpha01. La versione 1.5.0-alpha01 contiene questi commit.

Correzioni di bug

  • Aggiungi un esempio di ripetizione flusso del gruppo di chip. Aggiorna la spaziatura interna orizzontale tra i chip secondari nell'esempio di chipgroup a riga singola in modo che corrisponda alle specifiche. (I3b155).
  • È stato risolto un problema per cui ModalBottomSheetLayout si arrestava in modo anomalo in un caso limite a seguito di un cambiamento di orientamento. Ora le animazioni di layout (ad es. Modifier.animateContentSize) nei contenuti del foglio funzionano senza problemi. (I2f981, b/266780234)

Versione 1.4

Versione 1.4.3

3 maggio 2023

androidx.compose.material:material-*:1.4.3 viene rilasciato senza modifiche (solo un bumper di versione).

Versione 1.4.2

19 aprile 2023

Viene rilasciato androidx.compose.material:material-*:1.4.2. La versione 1.4.2 contiene questi commit.

Versione 1.4.1

5 aprile 2023

Viene rilasciato androidx.compose.material:material-*:1.4.1. La versione 1.4.1 contiene questi commit.

Versione 1.4.0

22 marzo 2023

Viene rilasciato androidx.compose.material:material-*:1.4.0. La versione 1.4.0 contiene questi commit.

Modifiche importanti dalla versione 1.3.0

Modifiche alle API

  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per prenotare una dimensione di almeno 48.dp per distinguere le interazioni di tocco nel caso in cui l'elemento abbia dimensioni inferiori. (I33f58, b/258495559)
  • Modifiche incorporate nelle API scorrevoli in ModalDrawer. Il valore animateTo di DrawerState è stato sostituito dai metodi di apertura e chiusura e ora l'offset è annullabile. Utilizza requireOffset per richiedere l'offset. (I3de9e)
  • È stato aggiunto il parametro minLines in material e testo material3, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)
  • Parametro minLines aggiunto a BasicText e BasicTextField. Consente di impostare l'altezza minima di questi componibili in termini di numero di righe (I24294, b/122476634)

Versione 1.4.0-rc01

8 marzo 2023

androidx.compose.material:material-*:1.4.0-rc01 viene rilasciato senza modifiche. La versione 1.4.0-rc01 contiene questi commit.

Versione 1.4.0-beta02

22 febbraio 2023

Viene rilasciato androidx.compose.material:material-*:1.4.0-beta02. La versione 1.4.0-beta02 contiene questi commit.

Modifiche alle API

  • Modifiche incorporate nelle API Slideable in BottomSheetScaffold. Il parametro confirmStateChange di BottomSheetState è stato rinominato in confirmValueChange. progress è ora esposto come valore in virgola mobile. animateTo e snapTo sono interni. Usa invece expand() e collapse(). direction e overflow sono stati rimossi. offset è stato sostituito con requireOffset(). (I323b4)

Correzioni di bug

  • Sono stati rimossi i ruoli semantici dalle piattaforme selezionabili e selezionabili, sono stati aggiornati i componenti che li utilizzavano per impostare i ruoli utilizzando modificatore.semantics (Ibb4ba)
  • Aggiornamento di minore entità alle icone Material estese che modifica le icone riempite desktop_mac, directions e kitchen. (I65f5e).

Versione 1.4.0-beta01

8 febbraio 2023

Viene rilasciato androidx.compose.material:material-*:1.4.0-beta01. La versione 1.4.0-beta01 contiene questi commit.

Modifiche alle API

  • È stato risolto un problema per cui pullRefresh non consumava la velocità, causando la visualizzazione dell'overscroll. È stata anche modificata la firma dell'API della lambda onRelease in Modifier.pullRefresh per restituire un valore in virgola mobile per la velocità consumata (I7db65, b/266874741)
  • Il getter LocalMinimuTouchTargetEnforcement della proprietà ripristinato e la contrassegna come deprecata e reindirizza a LocalMinimumInteractiveComponentEnforcement. (I60dd5)

Versione 1.4.0-alpha05

25 gennaio 2023

Viene rilasciato androidx.compose.material:material-*:1.4.0-alpha05. La versione 1.4.0-alpha05 contiene questi commit.

Correzioni di bug

  • È stato risolto un problema per cui lo stato ModalBottomSheetLayout's HalfExpanded veniva calcolato in modo errato e il foglio sembrava mobile. (I8c615, b/265610459)
  • È stato corretto un bug in ModalBottomSheetLayout per cui, in alcune circostanze, il foglio si arrestava in modo anomalo passando da nascosto a uno stato visibile. (Ia9265, b/265444789)

Versione 1.4.0-alpha04

11 gennaio 2023

Viene rilasciato androidx.compose.material:material-*:1.4.0-alpha04. La versione 1.4.0-alpha04 contiene questi commit.

Modifiche alle API

  • Aggiunta nella proprietà semantica di IsContainer sulle piattaforme. Questa proprietà verrà utilizzata in una modifica successiva che determina l'ordine di attraversamento in base al significato semantico di elementi come le superfici. (I63379)
  • Contrassegna la funzione snapTo in Riquadro a scomparsa come API non sperimentale. (Ib9c18, b/261425368)
  • È stato aggiunto un parametro per il colore della traccia per gli indicatori di avanzamento circolari e un parametro per il limite del tratto per gli indicatori di avanzamento circolari e lineari. (Ie668c, b/216325962, b/222964817)
  • ModalBottomSheetState, ModalBottomSheetState.Saver e confirmStateChange di rememberModalBottomSheetState sono stati rinominati in confirmValueChange. (Ib48d1).
  • Altri tipi di output nulli per le funzioni nascoste deprecate (Ibf7b0)
  • Aggiungi Modifier.minimumInteractiveComponentSize. Può essere utilizzato per prenotare una dimensione di almeno 48.dp per distinguere le interazioni di tocco nel caso in cui l'elemento abbia dimensioni inferiori. (I33f58, b/258495559)
  • Modifiche incorporate nelle API Slideable in ModalBottomSheetLayout. Il valore animateTo di ModalBottomSheetState non utilizza più un parametro animationSpec e il valore esposto di offset è ora annullabile. Usa requireOffset per richiedere offset. (Ia2e79)

Correzioni di bug

  • Ora un foglio di ModalBottomSheetLayout ha una larghezza massima di 640 dp. (I71a4f, b/234927577)
  • Corregge un problema per cui rememberPullRefreshState non aggiornava refreshThreshold e refreshingOffset nel tempo. (Ifed10, b/263159832)
  • Lo stato di avanzamento degli indicatori è ora correttamente limitato all'intervallo previsto. (I8a7eb, b/262262727)
  • Se ModalBottomSheetState non ha ancora ricevuto alcun ancoraggio, aggiornerà currentValue senza un'animazione quando vengono chiamati snapTo o animateTo anziché generare un'eccezione. (I2c91b).
  • È stato corretto lo stato di attivazione nell'implementazione FilterChip di Material 2. (Id326a, b/261329817)
  • È stato corretto un bug per cui ModalBottomSheetLayout si arrestava in modo anomalo se fosse stato HalfExpanded durante la rotazione da verticale a orizzontale. Assicurati di trasmettere il valore initialValue corretto, ad esempio controllando la configurazione. (Ie8df7, b/182882364)
  • Risolto un problema per cui ModalBottomSheetLayout si arrestava in modo anomalo se i contenuti del foglio erano vuoti. ModalBottomSheetLayout ora consente i contenuti di fogli vuoti. Se i contenuti del foglio sono vuoti, avranno solo lo stato Nascosto. (Ic2288, b/200980998, b/216693030)

Problema noto

  • Durante l'aggiornamento da androidx.compose.foundation:1.4.0-alpha03 a androidx.compose.foundation:1.4.0-alpha04, potresti riscontrare un errore java.lang.NoSuchFieldError. Qui è indicato in origine il problema. È stata inviata una correzione che sarà disponibile nel prossimo aggiornamento di Compose. Come soluzione, aggiorna le librerie androidx.compose.material e androidx.compose.material3 alla versione più recente(1.1.0-alpha04) o esegui il downgrade di androidx.compose.foundation a 1.4.0-alpha03.

Versione 1.4.0-alpha03

7 dicembre 2022

Viene rilasciato androidx.compose.material:material-*:1.4.0-alpha03. La versione 1.4.0-alpha03 contiene questi commit.

Modifiche alle API

  • Aggiunta dell'annotazione @JvmDefaultWithCompatibility (I8f206)
  • Modifiche incorporate nelle API Swipeable in ModalDrawer. Il valore animateTo di DrawerState è stato sostituito dai metodi open e close e ora è possibile specificare un valore null per l'offset. Utilizza requireOffset per richiedere l'offset. (I3de9e)
  • È stata aggiunta un'API Modifier per eseguire query sulle informazioni di scorrimento dei predecessori. (I2ba9d, b/203141462)
  • Utilizzato in Clickable per ritardare correttamente le interazioni con la pressione, quando i gesti potrebbero diventare eventi di scorrimento.
  • È stato corretto il problema di Clickables che non ritardava correttamente le eco, se utilizzato all'interno di un Scrollable ViewGroup.
  • Aggiornati cassetti e fogli per ritardare correttamente le pressioni nel caso in cui i gesti possano diventare eventi di scorrimento.

Correzioni di bug

  • È stato risolto un problema per cui PullRefreshIndicator poteva bloccarsi dopo la chiamata di onRefresh se lo stato di aggiornamento non era stato modificato in true. (Ie2416, b/248274004)

Aggiornamenti delle dipendenze

  • L'UI di Compose e Compose Material ora dipendono dal Ciclo di vita 2.5.1. (I05ab0, b/258038814)

Versione 1.4.0-alpha02

9 novembre 2022

Viene rilasciato androidx.compose.material:material-*:1.4.0-alpha02. La versione 1.4.0-alpha02 contiene questi commit.

Modifiche alle API

  • awaitFirstDown e waitForUpOrCancellation ora accettano un PointerEventPass per una maggiore flessibilità. (I7579a, b/212091796)
  • È stato aggiunto il parametro minLines in material e testo material3, TextField e OutlinedTextField che consente di impostare l'altezza minima del componente in termini di numero di righe (I4af1d)
  • Parametro minLines aggiunto a BasicText e BasicTextField. Consente di impostare l'altezza minima di questi componibili in termini numero di righe (I24294, b/122476634)

Versione 1.4.0-alpha01

24 ottobre 2022

Viene rilasciato androidx.compose.material:material-*:1.4.0-alpha01. La versione 1.4.0-alpha01 contiene questi commit.

Modifiche alle API

  • È stato aggiunto un nuovo metodo, awaitEachGesture(), per i rilevatori di gesti. Funziona in modo simile a forEachGesture(), ma i gesti di loop sui gesti operano interamente all'interno di AwaitPointerEventScope, in modo che gli eventi non vadano persi tra un'iterazione e l'altra.
  • forEachGesture() è stato ritirato a favore di awaitEachGesture() perché consente di perdere eventi tra un gesto e l'altro. (Iffc3f, b/251260206)

Versione 1.3

Versione 1.3.1

9 novembre 2022

Viene rilasciato androidx.compose.material:material-*:1.3.1. La versione 1.3.1 contiene questi commit.

Versione 1.3.0

24 ottobre 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

Modifica del comportamento che provoca un errore

  • L'elevazione massima supportata nelle finestre di dialogo e nei popup è stata ridotta a 8 dp.

Modifiche alle API

  • Aggiungi un componente Pull-To-Refresh a Compose (I29168).
  • Cambia il nome del parametro da valori a valore in RangeSlider (I3b79a).

Versione 1.3.0-rc01

5 ottobre 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-rc01. La versione 1.3.0-rc01 contiene questi commit.

Versione 1.3.0-beta03

21 settembre 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-beta03. La versione 1.3.0-beta03 contiene questi commit.

Modifiche alle API

  • Aggiungere un componente Pull-To-Refresh a Compose (I29168)

Versione 1.3.0-beta02

7 settembre 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-beta02. La versione 1.3.0-beta02 contiene questi commit.

Nessuna modifica dalla versione 1.3.0-beta01

Versione 1.3.0-beta01

24 agosto 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-beta01. La versione 1.3.0-beta01 contiene questi commit.

Modifica del comportamento che provoca un errore

L'elevazione massima supportata nelle finestre di dialogo e nei popup è stata ridotta a 8 dp.

L'elevazione massima supportata per le finestre di dialogo e i popup di composizione è stata ridotta da 30 dp a 8 dp. Questa modifica interessa le finestre di dialogo e i popup personalizzati dell'interfaccia utente e dei materiali. Questa modifica è stata apportata per mitigare un bug di accessibilità sulle versioni di Android precedenti alla S e per garantire che i servizi di accessibilità all'interno di queste finestre siano in grado di interagire con i contenuti all'interno della finestra di dialogo o del popup.

Questa modifica ti interesserà solo se stai creando un'implementazione di finestre di dialogo o popup personalizzate con un'elevazione impostata su livelli superiori a 8 dp. Valuta la possibilità di abbassare l'elevazione della finestra di dialogo o del popup. Se devi rifiutare questo nuovo comportamento, puoi creare una finestra di dialogo o un popup con l'impostazione dell'elevazione desiderata. Questa opzione è sconsigliata perché l'accessibilità potrebbe risentirne negativamente ed è compito dello sviluppatore garantire che la parte inferiore della finestra di dialogo o del popup sia interattiva e leggibile dai servizi di accessibilità.

Versione 1.3.0-alpha03

10 agosto 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-alpha03. La versione 1.3.0-alpha03 contiene questi commit.

Versione 1.3.0-alpha02

27 luglio 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-alpha02. La versione 1.3.0-alpha02 contiene questi commit.

Contributo esterno

  • Risolvi AnimatedVisibility problema con FloatingActionButton in Scaffold (I3a0ae, b/224005027)

Versione 1.3.0-alpha01

29 giugno 2022

Viene rilasciato androidx.compose.material:material-*:1.3.0-alpha01. La versione 1.3.0-alpha01 contiene questi commit.

Modifiche alle API

  • Cambia il nome del parametro da valori a valore in RangeSlider (I3b79a)

Correzioni di bug

  • Aggiorna il campione di badge per fornire una descrizione dei contenuti più significativa. (I10b9d)

Versione 1.2

Versione 1.2.1

10 agosto 2022

Viene rilasciato androidx.compose.material:material-*:1.2.1. La versione 1.2.1 contiene questi commit.

Versione 1.2.0

27 luglio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0. La versione 1.2.0 contiene questi commit.

Versione 1.2.0-rc03

29 giugno 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-rc03. La versione 1.2.0-rc03 contiene questi commit.

  • Nessuna modifica dalla versione 1.2.0-rc02.

Versione 1.2.0-rc02

22 giugno 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-rc02. La versione 1.2.0-rc02 contiene questi commit.

Versione 1.2.0-rc01

15 giugno 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-rc01. La versione 1.2.0-rc01 contiene questi commit.

Modifiche alle API

  • Le interfacce nelle librerie di scrittura vengono ora create utilizzando i metodi predefiniti dell'interfaccia jdk8 (I5bcf1)

Correzioni di bug

  • Aggiorna il badge con la scheda con l'icona iniziale per applicare il badge sull'etichetta al posto dell'icona. (I90993)

Versione 1.2.0-beta03

1 giugno 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-beta03. La versione 1.2.0-beta03 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug per cui BottomSheetScaffold tracciava l'ombra della barra delle app in alto. BottomSheetScaffold ora prende in considerazione lo stato del foglio anche quando vengono inserite le Snackbar: nello stato compresso, le Snackbar vengono posizionate sopra il foglio e il FAB. nello stato espanso, le snackbar sono ancorate alla parte inferiore del foglio. (Ia80b5, b/187771422)

Versione 1.2.0-beta02

18 maggio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-beta02. La versione 1.2.0-beta02 contiene questi commit.

Versione 1.2.0-beta01

11 maggio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-beta01. La versione 1.2.0-beta01 contiene questi commit.

Nuove funzionalità

  • Questa è la prima versione beta della 1.2.

Modifiche alle API

  • L'elemento componibile TextFieldDefaults.BorderStroke è stato rinominato che disegna un tratto del bordo in OutlinedTextField in TextFieldDefaults.BorderBox. (I5f295).

Versione 1.2.0-alpha08

20 aprile 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha08. La versione 1.2.0-alpha08 contiene questi commit.

Modifiche alle API

  • Il consumo parziale (posizione OR giù) è stato deprecato in PointerInputChange. Puoi utilizzare consume() per applicare completamente la modifica. Puoi utilizzare isConsumed per determinare se qualcun altro ha utilizzato in precedenza la modifica.
  • PointerInputChange::copy() ora crea sempre una copia superficiale. Significa che le copie di PointerInputChange verranno consumate una volta che una delle copie è stata utilizzata. Se vuoi creare un elemento PointerInputChange non associato, utilizza invece il costruttore. (Ie6be4, b/225669674)

Versione 1.2.0-alpha07

6 aprile 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha07. La versione 1.2.0-alpha07 contiene questi commit.

Versione 1.2.0-alpha06

23 marzo 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha06. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche alle API

  • Aggiornamenti all'API cliccabile Card per seguire le modifiche all'API Surface (I56bcb)
  • Aggiornamenti all'API Material 2 Surface che aggiunge ulteriori funzioni di sovraccarico per le superfici selezionabili e attivabili. (Ifcca5).

Versione 1.2.0-alpha05

9 marzo 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha05. La versione 1.2.0-alpha05 contiene questi commit.

Modifiche alle API

  • LazyVerticalGrid e LazyHorizontalGrid ora sono stabili. (I307c0)
  • LazyVerticalGrid/LazyHorizontalGrid e tutte le API correlate sono stati spostati nel sottopacchetto .grid. Aggiorna le importazioni da androidx.compose.foundation.lazy ad androidx.compose.foundation.lazy.grid. (I2d446, b/219942574)
  • È stata ripristinata la modifica precedente dell'utilizzo esclusivo di una vista per WindowInsetsControllerCompat e richiedono di nuovo una finestra richiesta per la gestione di alcuni flag delle finestre. Deprecato ViewCompat.getWindowInsetsController a favore di WindowCompat.getInsetsController per garantire che la finestra corretta sia (ad esempio se la Vista è in una finestra di dialogo). (I660ae, b/219572936)
  • Testo:includeFontPadding è ora disattivato per impostazione predefinita. La vengono gestiti i problemi di ritaglio causati da includeFontPadding=false senza tagli nei testi lunghi. (I31c84, b/171394808)
  • È stata aggiunta una nuova API LazyVerticalGrid per definire le dimensioni degli assi trasversali (I17723)

Versione 1.2.0-alpha04

23 febbraio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha04. La versione 1.2.0-alpha04 contiene questi commit.

Modifiche alle API

  • Add support for filter chips (I39a6e, b/192585545)
  • Hai aggiunto TextFieldDecorationBox e OutlinedTextFieldDecorationBox. Utilizzo insieme a BasicTextField ti aiuterà a creare campi di testo personalizzati basati su testo Material Design ma con più opzioni di personalizzazione.
  • Fornito un modo per regolare la spaziatura interna orizzontale e verticale nei campi di testo. (I8c9f1, b/203764564, b/191543915, b/189971673, b/183136600, b/179882597, b/16800133)
  • Aggiunti ComposableTarget, ComposableTargetMarker e ComposableOpenTarget che consente di generare report sul tempo di compilazione del momento una funzione componibile è chiamata targeting di un'applicazione progettato per l'uso.

    Nella maggior parte dei casi le annotazioni possono essere dedotte del compilatore, quindi l'uso diretto di queste annotazioni dovrebbe essere . I casi che non possono essere dedotti includono la creazione e utilizzando un applicatore personalizzato, funzioni componibili astratte (come dell'interfaccia utente), campi o variabili globali lambda componibili (vengono dedotti parametri e variabili locali), o quando utilizzi ComposeNode o una funzione componibile correlata.

    Per applicazioni personalizzate, le funzioni componibili che richiamano ComposeNode o ReusableComposeNode devono aggiungere un CompoableTarget per la funzione e qualsiasi tipi di parametri lambda componibili. Tuttavia, è consigliabile per creare un'annotazione annotata con ComposableTargetMarker e poi l'annotazione contrassegnata anziché ComposableTarget direttamente. Un'annotazione componibile contrassegnato con ComposableTargetMarker equivale a ComposbleTarget con il nome completo dell'attributo come parametro dell'applicatore. Per un esempio di utilizzo ComposableTargetMarker vedi anroidx.compose.ui.UiComposable. (I38f11)

Versione 1.2.0-alpha03

9 febbraio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha03. La versione 1.2.0-alpha03 contiene questi commit.

Correzioni di bug

Versione 1.2.0-alpha02

26 gennaio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha02. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche alle API

  • NonRestartableComposable aggiunto ai metodi che sono sovraccarichi di metodi esistenti senza una logica complessa. In questo modo si riduce generati controlli di memorizzazione (uguale) per tutti i parametri che vengono ripetute nella funzione interna che è chiamata. (I90490)
  • Aggiungi il supporto per il chip di azione (I07100, b/192585545)

Versione 1.2.0-alpha01

12 gennaio 2022

Viene rilasciato androidx.compose.material:material-*:1.2.0-alpha01. La versione 1.2.0-alpha01 contiene questi commit.

Aggiornamenti delle dipendenze

  • Ora dipende da Kotlin 1.6.10.

Contributo esterno

  • ModalBottomSheetState ora ha una segnalazione isSkipHalfExpanded. Può essere impostato tramite il costruttore o aggiornato in un secondo momento impostando la proprietà isSkipHalfExpanded di ModalBottomSheetState su true. L'aggiornamento del valore di isSkipHalfExpanded causa una ricomposizione del foglio. (I18b86, b/186669820)

Versione 1.1

Versione 1.1.1

23 febbraio 2022

Viene rilasciato androidx.compose.material:material-*:1.1.1. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Correggi NullPointerException in androidx.compose.ui.platform.RenderNodeLayer.updateDisplayList (aosp/1947059, b/206677462)
  • È stato corretto l'arresto anomalo causato dai contenuti degli appunti durante la lettura da appunti su Android. (I06020, b/197769306)
  • RTL fisso in LazyVerticalGrid (aosp/1931080, b/207510535)

Versione 1.1.0

9 febbraio 2022

Viene rilasciato androidx.compose.material:material-*:1.1.0. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

  • Supporto stabile dell'effetto Overscroll per Android 12
  • Miglioramenti alle dimensioni del touch target
  • Tieni presente che, rispetto a Compose 1.0, i componenti Material amplieranno lo spazio di layout per rispettare le linee guida per l'accessibilità di Material relative alle dimensioni del touch target. Ad esempio, il touch target del pulsante si espanderà a una dimensione minima di 48 x 48 dp, anche se imposti le dimensioni del pulsante su un valore inferiore. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design e si ottiene un comportamento coerente se si combinano Visualizzazioni e Compose. Questa modifica garantisce inoltre che, quando crei la UI utilizzando i componenti Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.
  • Supporto stabile per barra di navigazione
  • Consente di passare alcune API precedentemente sperimentali allo stato stabile
  • Supporto per versioni più recenti di Kotlin

Versione 1.1.0-rc03

26 gennaio 2022

Viene rilasciato androidx.compose.material:material-*:1.1.0-rc03. La versione 1.1.0-rc03 contiene questi commit.

Variazioni del comportamento

Tieni presente che, rispetto a Compose 1.0, i componenti Material amplieranno lo spazio di layout per rispettare le dimensioni del touch target delle linee guida per l'accessibilità di Material. Ad esempio, il touch target del pulsante si espanderà a una dimensione minima di 48 x 48 dp, anche se imposti le dimensioni del pulsante su un valore inferiore. In questo modo, Compose Material si allinea allo stesso comportamento dei componenti di Material Design e si ottiene un comportamento coerente se si combinano Visualizzazioni e Compose. Questa modifica garantisce inoltre che, quando crei la UI utilizzando i componenti Compose Material, vengano soddisfatti i requisiti minimi per l'accessibilità dei touch target.

Correzioni di bug

  • Sono state aggiunte informazioni di debug migliori per lo strumento di controllo del layout durante l'ispezione del numero minimo di modificatori dei touch target. (aosp/1955036)

Versione 1.1.0-rc01

15 dicembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-rc01. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

Versione 1.1.0-beta04

1 dicembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-beta04. La versione 1.1.0-beta04 contiene questi commit.

Nuove funzionalità

  • Aggiornamento per essere compatibile con Kotlin 1.6.0

Versione 1.1.0-beta03

17 novembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-beta03. La versione 1.1.0-beta03 contiene questi commit.

Versione 1.1.0-beta02

3 novembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-beta02. La versione 1.1.0-beta02 contiene questi commit.

Correzioni di bug

  • Eco e altre indicazioni ora saranno ritardate solo se si trovano all'interno di un container Modifier.scrollable(), invece di essere sempre ritardate per un evento down. (Ibefe0, b/203141462)

Versione 1.1.0-beta01

27 ottobre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-beta01. La versione 1.1.0-beta01 contiene questi commit.

Nuove funzionalità

  • L'eco supporta ora gli stati al passaggio del mouse e allo stato attivo, quindi se passi il mouse sopra o imposti lo stato attivo su un componente come Pulsante ora verrà visualizzato l'overlay dello stato corretto.

Versione 1.1.0-alpha06

13 ottobre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha06. La versione 1.1.0-alpha06 contiene questi commit.

Modifiche alle API

  • È stato aggiunto un sovraccarico senza figlio per Layout, con una maggiore efficienza (Ib0d9a)
  • Implementazione di ExposedDropdownMenu basata su ExposedDropdownMenuBox con TextField e DropdownMenu all'interno (If60b2)
  • dismissOnOutsideClick è stato aggiunto a PopupProperties, sostituendo dismissOnClickOutside, che era deprecato. La nuova proprietà riceve la posizione del clic e i limiti di ancoraggio, in modo da avere un controllo più preciso sulla necessità di richiamare onIgnoraRequest o meno. Ad esempio, questo può essere utile per evitare che gli ancoraggi vengano chiusi con i tocchi.
    • updateAndroidWindowManagerFlags è stato aggiunto a PopupProperties, in modo da offrire un controllo di basso livello sui flag trasmessi dal popup ad Android WindowManager. Il parametro di lambda saranno i flag calcolati dai valori PopupProperties che generano i flag WindowManager: ad es. attivabile. Il risultato di lambda saranno i flag finali che verranno passati ad Android WindowManager. Per impostazione predefinita, updateAndroidWindowManagerFlags lascia invariati i flag calcolati dai parametri. Questa API deve essere utilizzata con cautela, solo nei casi in cui il popup abbia requisiti di comportamento molto specifici. (I6e9f9)

Versione 1.1.0-alpha05

29 settembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha05. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche alle API

  • Aggiunge le dimensioni minime del touch target per i componenti Material che non hanno un touch target accessibile. L'aggiunta di spazio aggiuntivo tra i componenti per assicurarsi che abbiano un touch target sufficientemente grande potrebbe modificare le UI esistenti che presuppongono che le dimensioni di questi componenti siano quelle visive e non tengano conto di quelle del touch target. Puoi utilizzare la composizione sperimentale LocalMinimumTouchTargetEnforcement locale per disattivare questo comportamento in una gerarchia, ma il suo scopo è quello di rappresentare un'alternativa temporanea durante l'aggiornamento delle interfacce utente esistenti per tenere conto delle nuove dimensioni minime. (I9b966, b/149691127, b/171509422)
  • È stata aggiunta l'interfaccia sperimentale TextFieldColorsWithIcons, estendendo TextFieldColors per fornire InteractionSource a leaderColor e trailingColor. Ciò consente di modificare l'aspetto di TextField in base allo stato attivo. (I66923, b/198402662)

Versione 1.1.0-alpha04

15 settembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha04. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche alle API

  • performGesture e GestureScope deprecati, che hanno è stato sostituito da performTouchInput e TouchInjectionScope. (Ia5f3f, b/190493367)
  • Elemento touchBoundsInRoot aggiunto alla raccolta SemanticsNode che include le dimensioni minime del touch target affinché gli sviluppatori possono garantire che i touch target soddisfino i requisiti minimi di accessibilità. (I2e14b, b/197751214)

Correzioni di bug

  • Consenti al clip di estendere i limiti del touch target oltre la regione del clip per scopi minimi del touch target. (I43e10, b/171509422)
  • Elemento componibile Divider aggiornato in rispetta Dp.Hairline per il parametro spessore per supportare il disegno di separatori a pixel singoli a prescindere dalla compattezza. (I16ffb, b/196840810)

Versione 1.1.0-alpha03

1° settembre 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha03. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Compose 1.1.0-alpha03 è stata aggiornata per dipendere da Kotlin 1.5.30. (I74545)

Modifiche alle API

  • Aggiunto un metodo di test per ottenere i limiti troncati. (I6b28e)
  • Sono state aggiunte le dimensioni minime del touch target a ViewConfiguration per l'utilizzo nella semantica e nell'input del puntatore per garantire l'accessibilità. (Ie861c).

Versione 1.1.0-alpha02

18 agosto 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha02. La versione 1.1.0-alpha02 contiene questi commit.

Contributo esterno

  • Correggi il comportamento di SwipeableState nel caso in cui l'offset dello scorrimento si trovi all'interno di un errore di arrotondamento di un ancoraggio. (I03d39, b/191993377)

Versione 1.1.0-alpha01

4 agosto 2021

Viene rilasciato androidx.compose.material:material-*:1.1.0-alpha01. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • Metodo DrawScope#drawImage aggiornato che utilizza i rect di origine e di destinazione per utilizzare un valore di FiltraQualità facoltativo . Ciò è utile per Pixel che deve essere pixelata quando viene ridimensionato per la grafica basata su pixel. BitmapPainter + Immagine componibile aggiornati per utilizzare anche un'istanza di filtro facoltativa parametro (Ie4fb0, b/180311607)
  • BadgeBox è stato rinominato BadgedBox e sono stati modificati i parametri per accettare il badge componibile. È stato aggiunto il componente Badge, che rappresenta i contenuti tipici del badge per un BadgedBox. (I639c6)
  • È stato aggiunto il componente NavigationRail; consulta la documentazione e gli esempi per informazioni sull'utilizzo (I8de77)

Correzioni di bug

  • Sono stati aggiunti un esempio di NavigationRail con allineamento in basso e un'app Catalog demo. (I3cffc)
  • Le finestre di dialogo ora seguono il comportamento di dimensionamento della piattaforma. Imposta usePlatformDefaultwidth su false per ignorare questo comportamento. (Iffaed, b/192682388)
  • È stata aggiunta una demo del sistema di navigazione satellitare all'app catalogo. (I04960)
  • È stata aggiunta la demo del badge all'app del catalogo. (If285d).

Versione 1.0

Versione 1.0.5

3 novembre 2021

Viene rilasciato androidx.compose.material:material-*:1.0.5. La versione 1.0.5 contiene questi commit.

Correzioni di bug

  • È stato corretto un arresto anomalo del monitoraggio delle istanze derivateStateOf. (aosp/1792247)

Versione 1.0.4

13 ottobre 2021

Viene rilasciato androidx.compose.material:material-*:1.0.4. La versione 1.0.4 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.31 eseguito

Versione 1.0.3

29 settembre 2021

Viene rilasciato androidx.compose.material:material-*:1.0.3. La versione 1.0.3 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento in base a Kotlin 1.5.30 eseguito

Versione 1.0.2

1° settembre 2021

Viene rilasciato androidx.compose.material:material-*:1.0.2. La versione 1.0.2 contiene questi commit.

Aggiornamento eseguito per supportare la release Compose 1.0.2. Compose 1.0.2 è ancora compatibile con Kotlin 1.5.21.

Versione 1.0.1

4 agosto 2021

Viene rilasciato androidx.compose.material:material-*:1.0.1. La versione 1.0.1 contiene questi commit.

Aggiornamenti delle dipendenze

  • Aggiornamento eseguito in modo da dipendere da Kotlin 1.5.21.

Versione 1.0.0

28 luglio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0. La versione 1.0.0 contiene questi commit.

Funzionalità principali di 1.0.0

Questa è la prima release stabile di Compose. Per ulteriori dettagli, consulta il blog ufficiale di Compose Release.

Problemi noti

  • Se utilizzi Android Studio Bumblebee Canary 4 o AGP 7.1.0-alpha04/7.1.0-alpha05, potresti riscontrare il seguente arresto anomalo:

      java.lang.AbstractMethodError: abstract method "void androidx.lifecycle.DefaultLifecycleObserver.onCreate(androidx.lifecycle.LifecycleOwner)"
    

    Per risolvere il problema, aumenta temporaneamente il valore minSdkVersion nel file build.gradle, impostandolo su 24 o più. Questo problema verrà risolto nella prossima versione di Android Studio Bumblebee e AGP 7.1. (b/194289155)

Versione 1.0.0-rc02

14 luglio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-rc02. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Le finestre di dialogo ora seguono il comportamento di dimensionamento della piattaforma. Imposta usePlatformDefaultWidth su false per ignorare questo comportamento. (Iffaed, b/192682388)

Versione 1.0.0-rc01

1 luglio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-rc01. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il componente BadgeBox. Consulta la documentazione e gli esempi per informazioni sull'utilizzo (I5e284)
  • useDefaultMaxWidth in PopupProperties è stato rinominato usePlatformDefaultWidth. (I05710)
  • Ora le finestre di dialogo possono utilizzare l'intera larghezza dello schermo. (I83929, b/190810877)
  • Aggiunta dell'implementazione del cursore dell'intervallo sperimentale (I2f4b3)

Correzioni di bug

  • Per allinearsi alle specifiche di Material Design OutliningTextField con un input non valido ha smesso di utilizzare il colore di errore per l'etichetta quando l'etichetta viene usata come segnaposto. Il secondo si verifica quando il campo di testo non contiene testo di input e quest'ultimo non è attivo. Di conseguenza, è cambiato anche il significato del parametro error:Boolean nella funzione TextFieldColors.labelColor(): ora restituirà false anche se l'input non è valido se l'etichetta viene utilizzata come segnaposto. (I45f78)

Versione 1.0.0-beta09

16 giugno 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta09. La versione 1.0.0-beta09 contiene questi commit.

Modifiche alle API

  • È stato aggiunto il parametro Forma a OutliningTextField per poter personalizzare la forma del bordo (I8f39e, b/181322957)
  • TextOverflow è cambiato in una classe in linea. (I433af)

Correzioni di bug

  • Scrim nel cassetto inferiore, BackdropScaffold e ModalBottomSheetLayout scompaiono e viene passato il colore non specificato (I2d899, b/182063309).

Regole del profilo aggiunte

In questa release vengono aggiunte regole di profilo ai seguenti moduli di scrittura (I14ed6):

  • androidx.compose.animation
  • androidx.compose.animation-core
  • androidx.compose.foundation
  • androidx.compose.layout-base
  • androidx.compose.material
  • androidx.compose.materiale-eco
  • androidx.compose.runtime
  • androidx.compose.ui
  • androidx.compose.ui.geometry
  • androidx.compose.ui.graphics
  • testo androidx.compose.ui.
  • testo androidx.compose.ui.
  • androidx.compose.ui.unit
  • androidx.compose.ui.util,

Che cosa sono le regole del profilo?

  • Le regole del profilo per una libreria vengono specificate in un file di testo baseline-prof.txt situato in src/main o nella directory equivalente. Il file specifica una regola per riga, dove una regola in questo caso è un pattern per la corrispondenza con metodi o classi nella libreria. La sintassi per queste regole è un soprainsieme del formato del profilo ART leggibile che viene utilizzato quando si utilizza adb shell profman --dump-classes-and-methods .... Queste regole possono avere come target metodi o classi.

  • Una regola del metodo avrà il seguente pattern:

    <FLAGS><CLASS_DESCRIPTOR>-><METHOD_SIGNATURE>
    
  • Una regola della classe avrà il seguente pattern:

    <CLASS_DESCRIPTOR>
    
  • Qui <FLAGS> rappresenta uno o più caratteri H, S e P per indicare se questo metodo deve essere contrassegnato o meno come "A caldo", "Avvio" o "Post avvio".

  • <CLASS_DESCRIPTOR> è il descrittore della classe a cui appartiene il metodo scelto come target. Ad esempio, la classe androidx.compose.runtime.SlotTable avrà un descrittore Landroidx/compose/runtime/SlotTable;.

  • <METHOD_SIGNATURE> è la firma del metodo e include il nome, i tipi di parametri e i tipi restituiti del metodo. Ad esempio, il metodo fun isPlaced(): Boolean su LayoutNode ha la firma isPlaced()Z.

  • Questi pattern possono avere caratteri jolly (**, * e ?) in modo da avere una singola regola che comprende più metodi o classi.

A cosa servono le regole?

  • Un metodo con il flag H indica che si tratta di un metodo "hot" e devono essere compilati in anticipo.

  • Un metodo con il flag S indica che si tratta di un metodo chiamato all'avvio e che deve essere compilato in anticipo per evitare i costi della compilazione e dell'interpretazione del metodo al momento dell'avvio.

  • Un metodo con il flag P indica che si tratta di un metodo che viene richiamato dopo l'avvio.

  • Una classe presente in questo file indica che viene utilizzata durante l'avvio e deve essere preallocata nell'heap per evitare il costo del caricamento della classe.

Come funziona?

  • Le librerie possono definire queste regole che verranno pacchettizzate in artefatti AAR. Quando viene creato un APK che include questi artefatti, queste regole vengono unite e le regole unite vengono utilizzate per creare un profilo ART binario compatto specifico per l'APK. ART può quindi sfruttare questo profilo quando l'APK viene installato sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorare le prestazioni dell'applicazione, in particolare la prima esecuzione. Tieni presente che ciò non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug.

Versione 1.0.0-beta08

2 giugno 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta08. La versione 1.0.0-beta08 contiene questi commit.

Nuove funzionalità

Modifica dell'API Behavior Breaking

  • INTERRUZIONE DEL COMPORTAMENTO: ora la carta consuma clic, di conseguenza vengono aggiunti tramite Card(Modifier.clickable) i clic non operativi. Usa un nuovo sovraccarico sperimentale di una scheda che accetta sandbox. (Ia8744, b/183775620)
    • È stato aggiunto un nuovo sovraccarico di schede che gestisce i clic e altre funzionalità cliccabili: indicazione, interazioneSource, attivata/disattivata. Non è stato possibile utilizzare una normale scheda non cliccabile con Modifier.clickable perché la scheda non taglia l'indicazione dell'eco in questi casi.
  • INTERRUZIONE DEL COMPORTAMENTO: ora Surface consuma clic, di conseguenza i clic vengono aggiunti tramite Surface(Modifier.clickable) per essere totalmente indipendenti. Utilizza un nuovo sovraccarico sperimentale di Surface che accetta velocità di base. (I73e6c, b/183775620)
    • È stato aggiunto un nuovo sovraccarico di Surface che gestisce i clic e altre funzionalità cliccabili: indicazione, interazioneSource, attivato/disattivato. Non è stato possibile utilizzare una superficie normale non cliccabile con Modifier.clickable perché in questi casi l'indicazione dell'eco non verrà tagliata.

Modifiche alle API

  • FabPosition è stato convertito in classe in linea da enum per supportare una potenziale espansione in futuro (I030fb)
  • Utilizzo di enum sottoposto a refactoring in classi in linea per evitare esaustivi quando affermazioni vengono aggiunti nuovi valori enum. (I2b5eb)
  • Aggiunge un timeout del tocco all'elemento cliccabile/attivabile per evitare la visualizzazione di un'eco durante lo scorrimento o il trascinamento (Ia2704, b/168524931)
  • ContentDescription e le proprietà semantiche del testo non sono più valori singoli ma elenchi. In questo modo è possibile unirli così come sono di concatenazioni. Abbiamo anche fornito API di test migliori per utilizzare questi modifiche (Ica6bf, b/184825850)
  • Modifier.focusModifier() è deprecato e sostituito da Modifier.focusTarget() (I6c860)
  • Enum FocusState sostituita con un'interfaccia FocusState (ICC1a, b/187055290)
  • È stato rimosso LocalRippleNativeRendering ora che l'implementazione dell'ondulazione supportata da View è stabile (I7fab3, b/188569367)

Correzioni di bug

  • Modifier.onGloballyPositioned() è stato modificato per indicare le coordinate di questo modificatore nella catena di modificatori, non le coordinate del layout dopo l'applicazione di tutti i modificatori. Ciò significa che ora l'ordine dei modificatori influisce sulle coordinate indicate. (Ieb67d, b/177926591)
  • È stato aggiunto un file README per il catalogo Compose Material esistente. (If9191)

Versione 1.0.0-beta07

18 maggio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta07. La versione 1.0.0-beta07 contiene questi commit.

Modifiche alle API

  • Non è più necessario utilizzare metodi di estensione per il supporto del routing in Navigation Compose. (I22beb, b/172823546)

Versione 1.0.0-beta06

5 maggio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta06. La versione 1.0.0-beta06 contiene questi commit.

Modifiche alle API

  • È stata eseguita la migrazione di Ripple per l'utilizzo interno di RippleDrawable sui dispositivi Android. Ciò significa che le animazioni a onde si verificheranno in RenderThread, quindi saranno fluide anche quando il thread dell'interfaccia utente è sotto carico, ad esempio durante la navigazione tra le schermate. Ciò non modifica la superficie dell'eco dell'API, ma potrebbero essere apportate modifiche al comportamento in seguito a questa modifica. Per facilitare la migrazione, è stato aggiunto LocalRippleNativeRendering. Fornisci un valore di false a questo ComposeLocal per recuperare l'implementazione dell'eco precedente all'interno di ComposeLocalProvider. Questa API è temporanea e verrà rimossa in futuro, pertanto se riscontri problemi che ti portano a utilizzare questa API, segnala un bug. (I902f8, b/168777351, b/183019123)
  • Sono state aggiunte le API di accessibilità CollectionInfo e CollectionItemInfo che consentono di contrassegnare la raccolta e i relativi elementi per i servizi di accessibilità (Id54ef, b/180479017)
  • È stata aggiunta l'API Accessibility error che consente di contrassegnare un nodo contenente input non valido (I12997, b/180584804, b/182142737)

Correzioni di bug

  • Il catalogo Compose Material aggiornato include l'implementazione da: https://github.com/google/accompanist/pull/365. (I25dc3)
  • Riga & Le colonne secondarie con peso(fill = false) non consentono più all'elemento principale di riempire l'intero spazio disponibile dell'asse principale. (Ied94d, b/186012444, b/184355105)

Versione 1.0.0-beta05

21 aprile 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta05. La versione 1.0.0-beta05 contiene questi commit.

Correzioni di bug

  • Sono state aggiunte immagini dei riquadri dei componenti, selettore di temi e URL di menu più specifici al catalogo di Compose Material esistente. (I9b58e)

Versione 1.0.0-beta04

7 aprile 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta04. La versione 1.0.0-beta04 contiene questi commit.

Modifiche alle API

  • MODIFICA DELL'API: lo stato DrawerState non è più esteso all'esperimento swipeableState.
    • MODIFICA DELL'API: BottomDrawerState è ora contrassegnato come Sperimentale, in modo che corrisponda già al componente sperimentale BottomDrawer (I81114, b/181656094)
  • Rinomina hideSoftwareKeyboard e showSoftwareKeyboard su SoftwareKeyboardController rispettivamente a hide() e show().
    • Offrire l'interfaccia completa di ComposeLocal per LocalSoftwareKeyboardController, che consente di impostarlo (in particolare utile nei test) (I579a6)
  • È stata aggiunta l'API LiveRegion Accessibility. Se il nodo è contrassegnato come regione attiva, i servizi di accessibilità invia automaticamente una notifica all'utente riguardo alle modifiche (Idcf6f, b/172590946)

Correzioni di bug

  • È stata aggiunta l'implementazione del catalogo Compose Material al modulo esistente. Attualmente mancanti: immagini riquadri dei componenti, selettore di temi (da aggiungere nelle modifiche di follow-up). (Ie7a94).

Versione 1.0.0-beta03

24 marzo 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta03. La versione 1.0.0-beta03 contiene questi commit.

Modifiche alle API

  • L'API DefaultMonotonicFrameClock è deprecata. Chiamata in corso withFrameNanos o Recomposer.runRecomposeAndApplyChanges senza MonotonicFrameClock ora genererà IllegalStateException. (I4eb0d)
  • È stata aggiunta una nuova API LeadingIconTab per supportare la visualizzazione di un'icona e testo in linea in una scheda. (I23267)

Contributo esterno

  • [di Jossi Wolf] BottomDrawer ora aggrega i contenuti dell'alloggiamento del riquadro a scomparsa. BottomDrawer non genera un IllegalStateException se l'altezza principale è infinita. Il riquadro a scomparsa in basso ora si aprirà in uno stato espanso se è inferiore al 50% di quello principale. I documenti relativi a BottomDrawerState e ModalBottomSheetLayoutState sono stati aggiornati. BottomDrawerState#isOpen ora restituisce true se è in stato aperto o espanso. (I87241)

Versione 1.0.0-beta02

10 marzo 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta02. La versione 1.0.0-beta02 contiene questi commit.

Modifiche alle API

  • È stata aggiunta una nuova composizione locale in LocalSoftwareKeyboardController API per sostituire l'interfaccia SoftwareKeyboardController precedente su Campo di testo. (I5951e, b/168778053)

Correzioni di bug

  • Applicare restrizioni sull'uso pubblico delle API sperimentali (I6aa29, b/174531520)
  • Modificato l'allineamento orizzontale predefinito per TopAppBar e BottomAppBar in Start, coerente con Row (Ib2dc7)
  • Sono stati aggiunti un nuovo modulo e un'interfaccia utente segnaposto per un catalogo Compose Material, attualmente nidificato nelle demo sui test di integrazione esistenti. (Idfcb3)
  • androidx.compose.ui:ui non dipende più da AppCompat o Fragment. Se usi ComposeView nella tua applicazione e utilizzi Fragment e/o AppCompat, assicurati di usare AppCompat 1.3+ / Fragment 1.3+: queste versioni sono necessarie per impostare correttamente i proprietari del ciclo di vita e dello stato salvato richiesti per ComposeView. (I1d6fa, b/161814404)

Versione 1.0.0-beta01

24 febbraio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-beta01. La versione 1.0.0-beta01 contiene questi commit.

Questa è la prima versione di Compose 1.0.0 Beta.

Modifiche alle API

  • I modificatori di dimensione sono stati rinominati. Modifier.width/height/size è stato rinominato in requiredwidth/requiredHeight/requiredSize. Modifier.preferredwidth/preferredHeight/preferredSize è stata rinominata in larghezza/altezza/dimensione. (I5b414).
  • imageResource e vectorResource sono ora funzioni di estensione rispettivamente sulle companion ImageBitmap e ImageVector. load{Image,Vector,Font}Le funzioni risorsa sono state eliminate. (I89130)
  • I modificatori per la taglia intrinseca non sono più sperimentali. (I15744)
  • Asserzioni Dp rimosse (I798d2)
  • Rimossa il callback SoftwareKeyboardController da tutto il testo da sostituire a breve con una nuova API. (Iae869, b/168778053)
  • Le lambda di azione Switch, Casella di controllo e RadioButton sono ora null. Esempi di righe con casella di controllo cliccabili aggiornati per utilizzare questo funzionalità. (If601b, b/171819073)
  • InteractionState è stato sostituito con [Mutable]InteractionSource
      .
    • Le interfacce sono responsabili dell'emissione / raccolta degli eventi di interazione.
    • Anziché trasmettere interactionState = remember { InteractionState() } a componenti come Button e Modifier.clickable(), utilizza interactionSource = remember { MutableInteractionSource() }.
    • Invece di: Interaction.Pressed in interactionState, devi utilizzare le funzioni di estensione su InteractionSource, ad esempio InteractionSource.collectIsPressedAsState().
    • Per casi d'uso complessi, puoi utilizzare InteractionSource.interactions per osservare il flusso di interazioni. Per ulteriori informazioni, consulta la documentazione e gli esempi di InteractionSource.
    • (I85965, b/152525426, b/171913923, b/171710801, b/174852378)
  • Aggiungi l'interfaccia AccessibilityMananger LocalAccessibilityMananger in ComposeLocals (I53520)
  • Rimossi i metodi LayoutCoordinates deprecati. Usa la funzione anziché la proprietà per positionInParent e boundsInParent (I580ed, b/169874631, b/175142755)
  • Il cursore ora supporta lo stato attivato/disattivato (I6d56b, b/179793072)
  • È stata creata una nuova sessione TextInputSession per le sessioni di input da componenti di testo di basso livello come CoreTextField. (I8817f, b/177662148)
  • AnimationEndReason.Interrupted è stato rimosso. Se l'animazione viene interrotta, viene inviata un'eccezione AnnullationException. (I2cbbc, b/179695417)
  • È stato rimosso @ExperimentalRippleApi e RippleAlpha è stato modificato in una classe con proprietà anziché un'interfaccia. (I6df7c).
  • È stata aggiunta l'interfaccia TextFieldColors per rappresentare i diversi colori utilizzati in TextField e OutliningTextField in stati differenti. Per l'implementazione predefinita, vedi TextFieldDefaults.textFieldColors e TextFieldDefaults.outlinedTextFieldColors.
  • Aggiungi il modificatore selectGroup che consente di contrassegnare la raccolta di schede o pulsanti di opzione ai fini dell'accessibilità (Ie5c29)
  • Aggiungi LazyListState.animatescrollToItem

    Questo metodo consente di scorrere senza problemi fino a un elemento specifico dell'elenco. (I4bfd7)

  • ScrollableState.smoothScrollBy() è stato rinominato in animateScrollBy() LazyListState.snapToItemIndex() è stato rinominato in scrollToItem() ScrollState.smoothScrollTo() è stato rinominato in animateScrollTo() (I35ded)

  • Tutti gli elementi componibili contrassegnati con @ReadOnlyComposable vengono ora convalidati in fase di compilazione per garantire che effettuino chiamate solo ad altri @ReadOnlyComposables (I58961)

  • L'API TargetAnimation è stata rimossa. (If47d1, b/177457083)

  • La posizione di scorrimento in Modifier.verticalscroll()/Horizontalscroll() è rappresentata ora con Ints (I81298)

  • " smoothscrollBy" e "scrollBy" pacchetti cambiati in androidx.compose.foundation.gestures.* (I3f7c1, b/175294473)

  • FlingConfig è stato rinominato in FlingBehavior e ora consente la personalizzazione dell'animazione di sospensione anziché dei Decadimenti predefiniti. (I02b86, b/175294473)

  • I modificatori di dimensione sono stati rinominati. Modifier.width/height/size è stato rinominato in requiredwidth/requiredHeight/requiredSize. Modifier.preferredwidth/preferredHeight/preferredSize è stata rinominata in larghezza/altezza/dimensione. (I5b414).

  • defaultMinSizeConstraints è stato rinominato in defaultMinSize. (I4eaae).

  • L'orientamento è stato spostato nel pacchetto di base. VelocirtTracker è passato da ui.gesture a ui.input.pointer. (Iff4a8, b/175294473)

  • È ora disponibile una modalità di sospensione delle funzioni, Usa passwordsCoroutineScope() per ottenere l'ambito della composizione per chiamarli (I16f60, b/175294473)

  • I provider sono stati rinominati in ComposizioneLocalProvider

    • Il costruttore della composizione non accetta più un parametro chiave ed è stato ritirato.
    • CurrentCompositeKeyHash è stato trasformato in una proprietà componibile di primo livello anziché in una funzione componibile di primo livello.
    • ComposizioneData e ComposizioneGroup sono stati spostati nello spazio dei nomi androidx.compose.runtime.tooling
    • ComposableLambda è stata creata come un'interfaccia invece di una classe concreta e non ha più parametri di tipo.
    • ComposableLambdaN è stata creata come un'interfaccia invece di una classe concreta e non ha più parametri di tipo.
    • La funzione snapshotFlow è stata spostata nello spazio dei nomi androidx.compose.runtime
    • il metodo di unione di SnapshotMutationPolicy non è più sperimentale
    • La funzione clearRoots di primo livello @TestOnly è stata rimossa. Non è più necessario.
    • Le funzioni keySourceInfoOf e resetSourceInfo sono state rimosse. Non sono più necessari.
    • Composer.collectKeySourceInformation è stato rimosso. Non è più necessario.
    • I metodi isJoinedKey, joinKeyLeft e joinKeyRight sono stati rimossi. Non sono più necessari.
    • Varie API di primo livello sono state spostate e riorganizzate in file diversi. A causa della semantica delle classi di file Kotlin, ciò comprometterà la compatibilità binaria, ma non la compatibilità del codice sorgente, quindi non dovrebbe rappresentare un problema per la maggior parte degli utenti.
    • (I99b7d, b/177245490)
  • Modifier.scrollable è stato rielaborato. Ora utilizza l'interfaccia Scorribile anziché la classe Scorribile (I4f5a5, b/174485541, b/175294473).

  • Modifier.draggable ora accetta DraggableState anziché un semplice lambda. puoi creare lo stato tramite rememberDraggableState { delta -> } per ottenere lo stesso comportamento di prima (Ica70f, b/175294473)

  • ZoomableController.smoothScaleBy e ZoomableController.stopAnimation sono ora funzioni di sospensione. (I7f970, b/177457083)

  • Sono state eliminate alcune API deprecate in precedenza (Ice5da, b/178633932)

  • Sono state apportate le seguenti modifiche all'API Material:

    • È stato aggiunto il parametro contentPadding a Top/BottomAppBar per consentire la personalizzazione della spaziatura interna predefinita.
    • I parametri sono stati riordinati in BackdropScaffold in modo da rispettare le linee guida dell'API perché i parametri obbligatori sono prima di quelli facoltativi.
    • Parametro icon spostato in BottomTrafficItem in modo che sia dopo selected e onClick.
    • Parametro alwaysShowLabels rinominato in BottomTrafficItem in alwaysShowLabel.
    • I parametri bodyContent in alcuni componenti sono stati rinominati solo content.
    • Parametri riordinati in ButtonDefaults.buttonColors(). Tieni presente che, poiché il tipo di parametri non è cambiato, ciò non causerà un errore nel tuo codice. Assicurati di utilizzare parametri denominati o di aggiornare l'ordine manualmente, altrimenti il tuo codice non funzionerà come in precedenza.
    • Parametro secondaryVariant aggiunto a darkColors(). Questo colore è in genere uguale a secondary nel tema scuro, ma aggiunge coerenza e ulteriore personalizzazione.
    • Sono stati rimossi ElevationDefaults e animaElevation() dalla piattaforma API pubblica perché non erano comunemente utilizzati / utili.
    • onValueChangeEnd in Slider è stato rinominato in onValueChangeFinished e lo è stato reso null.
    • Parametro text rinominato in Snackbar in content per coerenza.
    • È stato aggiunto il parametro contentPadding a DropdownMenuItem per consentire la personalizzazione della spaziatura interna predefinita e ha reso content un'estensione su RowScope.
    • ModalDrawerLayout rinominato in ModalDrawer.
    • BottomDrawerLayout rinominato in BottomDrawer.
    • (I1cc66)
  • BasicTextField ora accetta Pennello anziché Colore per una migliore personalizzazione (I83a36)

  • imageResource e vectorResource sono ora funzioni di estensione rispettivamente sulle companion ImageBitmap e ImageVector. load{Image,Vector,Font}Le funzioni risorsa sono state eliminate. (I89130)

  • Cambiato Indication#createIndication() in Indication#rememberUpdatedIndication(InteractionState) e rimuove il parametro InteractionState da IndicationInstance#drawIndication(). IndicationInstance deve essere responsabile solo del disegno di effetti visivi e non dell'avvio di animazioni o della scrittura dello stato in risposta alle modifiche di InteractionState. Queste animazioni e scritture degli stati devono invece avvenire all'interno di rememberUpdatedIndication(). Anche il parametro indication in Modifier.indication è stato modificato in modo da essere obbligatorio. (Ic1764, b/152525426)

Correzioni di bug

  • È stata aggiunta una nuova composizione LocalSoftwareKeyboardController locale API per sostituire la precedente interfaccia SoftwareKeyboardController su Campo di testo. (I658b6, b/168778053)

Versione 1.0.0-alpha12

10 febbraio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-alpha12. La versione 1.0.0-alpha12 contiene questi commit.

Modifiche alle API

  • Modifier.pointerInput ora richiede tasti di memorizzazione per indicare quando la coroutine di rilevamento dell'input del puntatore deve riavviarsi per nuovi delle dipendenze. (I849cd)
  • BottomDrawerLayout e ListItem sono stati contrassegnati come @ExperimentalMaterialApi (Id766e)
  • PaddingValues.Absolute è stato aggiunto e può essere utilizzato nelle API che accettano PaddingValues. (Ia5f30)
  • Il metodo onImeActionPerformed è deprecato. utilizza invece Keyboard Actions (If0bbd, b/179071523)
  • Per abbinare meglio la denominazione tradizionali con ImageBitmap e ImageVector, ImagePainter è stato rinominato BitmapPainter e VectorPainter in parallelo. (Iba381, b/174565889)
  • Animatable.snapTo e Animatable.stop sono ora funzioni di sospensione (If4288)
  • Il valore ComponentActivity.setContent è stato spostato in androidx.activity.compose.setContent nel modulo androidx.activity:activity-compose. (Icf416)
  • I metodi Destructuring e copy() sono stati rimossi da diverse classi in cui venivano usati raramente. (I26702, b/178659281)
  • Imposta HalEspandi() ed espandibili() in ModalBottomSheetState come interni (Ic914e)
  • È stato modificato Indication#createInstance in @Composable e LocalIndication è stata modificata in modo da contenere un'indicazione, non () -> Indicazione. (I5eeea, b/157150564)
  • Finestra di dialogo e menu a discesa spostati in modo che siano solo Android per il momento. È stato aggiunto il parametro PopupProperties a DropdownMenu per un'ulteriore configurazione del popup sottostante. (I9c443)
  • Il metodo loadFontResource è deprecato. Usa fontResource. imageResource, loadImageResource, vectorResource e loadVectorResource sono deprecate. Usa invece pitterResource. (I6b809)
  • I parametri toggle e toggleModifier sono stati rimossi dal menu a discesa e sono stati rinominati dropdownModifier, dropdownOffset e dropdownContent rispettivamente in modifier, offset e content. Il menu a discesa ora si comporta in modo coerente con Popup, dove viene utilizzato il layout principale per la posizione del menu. Nella maggior parte dei casi puoi spostare toggle come gemello di DropdownMenu e aggregare entrambi in un Box. Consulta l'esempio aggiornato nella documentazione per ulteriori informazioni sull'utilizzo di questa API. (I884fb)
  • toIntPx() è stato rinominato roundToPx(). (I9b7e4, b/173502290)
  • IntBounds è stato rinominato IntRect e l'API è stata migliorata. (I1f6ff)
  • Sono state aggiunte azioni di espansione e compressione della semantica. Aggiunta espandi e dimezza Espandi in ModalBottomSheetState (Ib5064)
  • Modifier.dragGeFilter è stato ritirato. Usa invece il criterio Modifier.pointerInput { detectDragGestures (...)}. In alternativa, utilizza Modifier.draggable per il trascinamento su un asse (I0ba93, b/175294473)
  • Ambienti rinominati per corrispondere alla versione Ambient -> Rinominazione di ComposeLocal. Un tempo gli ambienti Ambient si chiamavano AmbientFoo, ora i ComposeLocals si chiamano LocalFoo. (I2d55d).
  • La selezione è stata spostata nelle basi. (I7892b)
  • Analogamente a come abbiamo rimosso il componibile state { 0 } e ora ne promuoviamo l'utilizzo come remember { mutableStateOf(0) }, rimuoveremo il componibile savedInstanceState { 0 }. Dovresti usare rememberSaveable { mutableStateOf(0) }, che verrà salvato e ripristinato automaticamente se il tipo utilizzato all'interno del MutableState può essere archiviato nel bundle. Se in precedenza passavi un oggetto salvaschermo personalizzato, ora devi utilizzare un nuovo sovraccarico di memorizzareSaveable con il parametro stateSaver. L'utilizzo sarà simile a questo: val holder = rememberSaveable(stateSaver = HolderSaver) { mutableStateOf(Holder(0)) } (Ib4c26, b/177338004)
  • È stato aggiunto ProgressBarRangeInfo.Indeterminate per contrassegnare le barre di avanzamento indeterminate per l'accessibilità (I6fe05)
  • @ComposableContract è stato ritirato e sostituito con tre annotazioni più specifiche.

    • @ComposableContract(restartable = false) è diventato @NonRestartableComposable
    • @ComposableContract(readonly = true) è diventato @ReadOnlyComposable
    • @ComposableContract(preventCapture = true) è diventato @DisallowComposableCalls
    • L'utente @ComposableContract(tracked = true) è stato rimosso.
    • (I60a9d)
  • Le utilità emptyContent() e (@Composable () -> Unit).orEmpty() sono state ritirate in quanto non hanno più alcun impatto positivo sulle prestazioni o valore (I0484d)

  • SavedInstanceState() è stato rinominato in saveSaveable() e spostato nel pacchetto androidx.compose.runtime.saveable. (I1366e, b/177338004)

  • Saver, listSaver(), mapSaver(), autoSaver è stato spostato da androidx.compose.runtime.savedinstancestate ad androidx.compose.runtime.saveable (I77fe6)

  • I parametri di RounderCornerShape, CutCornerShape e CornerBasedShape sono stati rinominati da sinistra/destra all'inizio e alla fine per supportare il mirroring automatico della forma nella direzione RTL. Le funzionalità AbsoluteRounderCornerShape e AbsoluteCutCornerShape sono state introdotte nei casi in cui non si desidera eseguire il mirroring automatico. (I61040, b/152756983)

  • I parametri text e icon di Tab e il parametro label di Bottom BrowsingItem sono stati modificati in modo da essere null, al fine di comunicare meglio il comportamento del componente quando questi parametri sono o non sono forniti, dal momento che influisce sulle dimensioni e sul layout del componente. Se attualmente passi emptyContent() per rappresentare nessun testo, un'icona o un'etichetta, devi usare null. (I57ed4)

  • Il parametro contentColorFor color è stato rinominato in backgroundColor (I5bb67)

  • Ha ritirato TabDefaults e lo ha sostituito con TabRowDefaults. (I0f189)

  • Introduzione dell'API ColorMatrix utilizzata per modificare i valori RGB dei contenuti di origine Refactoring dell'API ColorFilter a riga di comando e corrispondere all'implementazione di PathEffect. (Ica1e8)

  • L'elemento AnimatedValue/Float è ora deprecato. Utilizza Animabili. (I71345, b/177457083)

  • Aggiungi l'API SemanticsProperties.PaneTitle. (I20d5a)

  • Sono stati aggiunti parametri attivati a Tab e BottomNavigatorItem per impedire che sia possibile fare clic. È stato modificato BottomNavigatorItem in RowScope.Bottom BrowsingItem per esprimere meglio i requisiti di layout nella sua API. (ID683d)

  • Le opzioni tapGeFilter, doubleTapGeFilter, longPress descrittiFilter e pressIndicaitonGeFilter sono state ritirate. Usa invece Modifier.clickable o Modifier.pointerInput con la funzione detectTapGestis. (I6baf9, b/175294473)

  • Aggiungi il parametro layoutDirection al parametro createOutline della forma. In questo modo è possibile creare forme sensibili alla direzione del layout. (I57c20, b/152756983)

  • Recomposer.current() rimosso. [Abstract]ComposeView ora per impostazione predefinita vengono utilizzati ricompositori con ambito a livello di finestra e creati in modo lento e gestiti dal ViewTreeLifecycleOwner per la finestra. Ricomposizione e I segni di graduazione con animazione basata su FrameNanos vengono messi in pausa mentre il ciclo di vita dell'host viene interrotto. (I38e11)

Correzioni di bug

  • L'icona verrà ora ridimensionata per adattarsi alle sue dimensioni, rispettando i modificatori di dimensione applicati. Ad esempio, Icon(.., modifier = Modifier.size(50.dp) ora disegna in uno spazio di 50 x 50 dp. (Ib2ba9, b/178796190)

Versione 1.0.0-alpha11

28 gennaio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-alpha11. La versione 1.0.0-alpha11 contiene questi commit.

Modifiche alle API

  • Promuove alcune API Material in modo che non siano più @Experimental (I5d20e)
  • Il parametro della descrizione dei contenuti è stato aggiunto a Immagine e Icona. Viene utilizzato per fornire una descrizione dei servizi di accessibilità (I2ac4c)
  • Modifica le interfacce dei parametri stateful Material in modo che abbiano funzioni @Composable che restituiscono State<T>. Aggiunge Animatable.asState() per semplificare la conversione di un elemento animato in uno stato. Modifica inoltre animazioneElevation in modo che diventi un'estensione di sospensione su Animatable. (If613c).
  • Snackbar, SnackbarHost, SnackbarHostState non sono più @ExperimentalMaterialAPI (Id1fb5)
  • Modifica tipografia, forme e TabPosition in modo che non siano più classi di dati. Aggiunge la funzione di copia per tipografia e forme per sostituire quelli generati. (I40037)
  • Sono state eliminate alcune API Material precedentemente deprecate (Ifaa25)

Correzioni di bug

  • onCommit, onDispose e onActive sono stati deprecati in favore delle API SideEffect e DisposableEffect (If760e)
  • La transizione basata su TransactionDefinition è stata ritirata (I0ac57)
  • Lo stato iniziale in updateTransizione è ora supportato (Ifd51d)
  • WithConstraints è stato rielaborato come BoxWithConstraints e spostato in ground.layout. (I9420b, b/173387208)
  • Ritira lo scorrimento non sospesoPer, rimuovi lo scorrimento dei dati non sospesi

    Ora consigliamo di utilizzare le funzioni di sospensione per controllare lo scorrimento e attendere per completare lo scorrimento. Stiamo ritirando e/o rimuovendo il le versioni senza sospensione di queste funzioni nell'ambito di questa transizione. (Ie9ced)

  • Ritira smoothscrollBy senza sospensione Ora consigliamo di utilizzare le funzioni di sospensione per controllare lo scorrimento e attendere per completare lo scorrimento. Stiamo ritirando le versioni senza sospensione di queste funzioni nell'ambito di questa transizione. (I12880)

  • Introdotta ComposeContentTestRule, che si estende ComposeTestRule e definisce setContent, che è stato rimosso da ComposeTestRule. Metodo di fabbrica createEmptyComposeRule() aggiunto che restituisce un ComposeTestRule e non avvia un'attività per te. Usa questa opzione se vuoi avviare l'Attività durante il test. ad es. con ActivityScenario.launch (I9d782, b/174472899)

  • L'eco utilizzato in Button e FloatingActionButton non può più essere personalizzato fornendo una nuova Indicazione tramite AmbientIndication. Questo non è mai stato pensato per essere un modo di personalizzare questi componenti e ora rende questi componenti coerenti con gli altri componenti Material. Per personalizzare gli echi in un'applicazione, vedi RippleTheme. (I546c5).

  • animateAsState è ora animatoFooAsState, dove Foo è tipo di variabile animata. ad es. Float, Dp, Offset e così via (Ie7e25)

  • BasicTextField ha ricevuto un nuovo parametro chiamato decorationBox. Consente di aggiungere elementi decorativi come icone, segnaposto, etichette e simili al campo di testo e di aumentare l'area degli hit target di quest'ultimo. (I16996)

  • Correzione di un bug che impediva l'impostazione della larghezza del campo di testo del materiale inferiore a 280.dp (I78373)

  • Il parametro canTrascina è stato rimosso da Modifier.draggable (Ic4bec, b/175294473)

  • Rimuovi displaySize perché dovrebbe essere evitato. Di solito è meglio usare onRoot() o almeno una dimensione della finestra. (I62db4)

  • La superficie ora può avere più layout secondari. (I66a92, b/144488459)

  • invalidate e composizioneReference() sono ora deprecate in favore rispettivamente di currentRecomposeScope e ricomponinciavoce. (I583a8)

  • Modifica PopupPositionProvider in modo da utilizzare coordinate relative alla finestra, non coordinate globali. Rinomina parentGlobalBounds in anchorBounds e cambia windowGlobalBounds in windowSize: IntSize (I2994a)

  • Durata e Uptime verranno sostituiti con Long millisecondi, e questo passaggio rimuove la dipendenza dell'input del puntatore su quelle . (Ia33b2, b/175142755, b/177420019)

  • L'elemento animatoFloat.fling che accetta FlingConfig è stato rimosso. Usa la sospensione Animatable.animateDecay. (I4659b, b/177457083)

  • Ora è possibile creare elementi cliccabili, attivabili e selezionabili al di fuori della composizione (I0a130, b/172938345, b/175294473)

  • L'easing è stato cambiato in un'interfaccia funzionale (Ib14e5)

  • L'elemento Scorribile/Riga sono stati deprecati. L'utilizzo di GrowableColumn è meno efficiente rispetto a LazyColumn quando è necessario scorrere contenuti di grandi dimensioni perché con LazyColumn possiamo comporre/misurare/disegnare solo elementi visibili. Per evitare che gli utenti progrediscano in maniera poco efficiente, abbiamo deciso di ritirare la soluzione Scorribile e Scorribile per promuovere invece l'utilizzo di LazyColumn e LazyRow. Gli utenti possono comunque decidere di non avere bisogno del comportamento lento e usare i modificatori direttamente in questo modo: Column(Modifier.verticalscroll(rememberscrollState())) (Ib976b, b/170468083)

  • Nuovo metodo di fabbrica items(count: Int) per l'ambito di LazyColumn/LazyRow/LazyVerticalGrid. items(items: List) e itemsIndexed(items: List) sono ora funzioni di estensione, quindi devi importarle manualmente quando vengono utilizzate. Nuovi overload delle estensioni per gli array: items(items: Array) e itemsIndexed(Array) (I803fc, b/175562574)

  • Rimossi metodi sperimentali monotonicFrameAnimationClockOf (Ib753f, b/170708374)

  • Metodi di coordinate globali deprecati e realizzati nuovi metodi per le coordinate basate su finestre. (Iee284)

  • È stato aggiunto Modifier.toolingGraphicslayer, che aggiunge un modificatore del livello grafico quando l'ispezione è attiva. (I315df)

  • FocusRequester.createRefs è ora contrassegnato come sperimentale poiché potrebbe cambiare. (I2d898, b/177000821)

  • SemanticsPropertyReceiver.hidden è stato rinominato in invisibleToUser e contrassegnato come @ExperimentalComposeUiApi. AccessibilityRangeInfo è stato rinominato ProgressBarRangeInfo. stateDescriptionRange è stato rinominato in progressBarRangeInfo. AccessibilityScorriState è stato rinominato ScorriAxisRange. HorizontalAccessibilityscrollState è stato rinominato HorizontalscrollAxisRange. verticalAccessibilityScorriState è stato rinominato verticalscrollAxisRange. (ID3148)

  • Utilizzare TestCoroutineDispatcher per i test (I532b6)

  • Grafica vettoriale aggiornata API per supportare l'analisi della colorazione applicata alla radice delle immagini vettoriali. (Id9d53, b/177210509)

Versione 1.0.0-alpha10

13 gennaio 2021

Viene rilasciato androidx.compose.material:material-*:1.0.0-alpha10. La versione 1.0.0-alpha10 contiene questi commit.

Modifiche alle API

  • Velocità modificata per avere parti componenti e calcoli operazioni. (Ib0447)
  • @ExperimentalTesting è stato rinominato in @ExperimentalTestApi coerente con annotazioni API sperimentali simili (Ia4502, b/171464963)
  • Il nome della posizione è stato cambiato in DpOffset e è stato rimosso il metodo getDistance() (Ib2dfd)
  • Ranamed Color.useOrElse() a Color.takeOrElse() (Ifdcf5)
  • Aggiungi il pulsante di attivazione/disattivazione alle stringhe di base.kt (I4a5b7, b/172366489)
  • FlowRow e FlowColumn sono stati deprecati. Utilizza un layout personalizzato. (I09027)
  • Modifier.focus() e Modifier.focusRequester() sono deprecati. Usa invece Modifier.focusModifier() e Modifier.focusReference(). (I75a48, b/175160751, b/175160532, b/175077829)
  • nativeClass spostato in modulo UI e lo ha reso interno. Aggiornamento degli utilizzi di nativeClass in è uguale alle implementazioni 'is MyClass' . (I4f734)

Correzioni di bug

  • Aggiunto il supporto per i campi di testo disattivati e di sola lettura (I35279, b/171040474, b/166478534)
  • animate() è ora sostituito con animateAsState(), che restituisce State<T> anziché T. Ciò consente di ottenere perché l'ambito di annullamento della convalida può essere ristretto dove viene letto il valore dello stato. (Ib179e)
  • Aggiungi l'API Semantics Role e aggiungi Role come parametro a SemanticsModifier cliccabile, selezionabile e attivabile. Modificato Modifier.progressSemantics in modo che sia utilizzabile anche dal dispositivo di scorrimento. (I216cd)

Versione 1.0.0-alpha09

16 dicembre 2020

Viene rilasciato androidx.compose.material:material-*:1.0.0-alpha09. La versione 1.0.0-alpha09 contiene questi commit.

Modifiche alle API

  • è stata aggiunta un'API per attivare manualmente l'animazione di assestamento e trascinare in Modifier.svisibleable (Iaa17a, b/162408885)
  • Rinominato gli oggetti *Costanti, come ButtonConstants, devono terminare con i valori predefiniti, ad esempio ButtonDefaults. Rimuove anche i prefissi default non necessari dalle proprietà in questi nuovi oggetti. (Ibb915, b/159982740)
  • Compose supporta i getter di proprietà che possono effettuare chiamate componibili. Il supporto di questa funzionalità non verrà eliminato, ma la sintassi per dichiarare una proprietà getter come @Composable cambierà.

    La sintassi ormai deprecata per farlo era l'annotazione della proprietà stessa:

        @Composable val someProperty: Int get() = ...
    

    La sintassi ora corretta per eseguire questa operazione è annotare il getter della proprietà:

       val someProperty: Int @Composable get() = ...
    

    Entrambe le sintassi funzioneranno per un certo periodo di tempo, ma la sintassi precedentemente ritirata diventerà un errore di compilazione. (ID9197)

  • È stata aggiunta la libreria androidx.compose.material:material-ripple contenente le API Ripple per consentire la creazione di componenti interattivi senza bisogno del resto della libreria Material. ricordaRippleIndication è stato deprecato e sostituito con learnRipple. (Ibdf11).

Correzioni di bug

  • Le funzioni Lambda nei modificatori di offset ora restituiscono IntOffset anziché Float. (Ic9ee5, b/174137212, b/174146755)
  • Hai eseguito il refactoring di ShaderBrush in di creare pigramente un'istanza di shaker quando informazioni sulle dimensioni del disegno dell'ambiente di rete. È utile per definire i gradienti occupano tutti i limiti di un al momento della composizione, senza dover a implementare implementazioni DrawModifier personalizzate.

    API del costruttore della funzione di gradiente deprecate a favore dei metodi di produzione su un oggetto Gradient. (I511fc, b/173066799)

  • Modifier.focusObserver è deprecato. Usa invece Modifier.onFocusChanged o Modifier.onFocusEvent (I30f17, b/168511863, b/168511484)

  • Ritirare LazyColumnFor, LazyRowFor, LazyColumnForIndexed e LazyRowForIndexed. Usa LazyColumn e LazyRow (I5b48c)

  • Dp.VectorConverter, Position.VectorConverter spostati e così via in animazione-core e ha deprecato i vecchi VectorConveters (If0c4b)

  • L'API Compilazione automatica è ora sperimentale e richiede l'attivazione (I0a1ec)

  • Aggiunta di dichiarazioni di destrutturazione per creare istanze FocusRequester (I35d84, b/174817008)

  • L'accessibilitàLabel è stata rinominata in contentDescription. L'accessibilitàValue è stata rinominata in stateDescription. (I250f2)

  • Nuova funzione infiniteRipetibile per la creazione di una InfiniteRipetiableSpec (I668e5)

  • Il comportamento di posizionamento di DropdownMenus è stato leggermente modificato in base alle specifiche del Material. (I34c72, b/168594123)

  • È stato aggiunto il supporto InteractionState per TextFields. (I61d91)

  • È stato aggiunto Modifier.clearAndSetSemantics alla cancellazione dei discendenti la semantica e impostarne di nuovi. (I277ca)

  • Spostamento di ContentDrawScope nell'interfaccia utente modulo con DrawScope. (Iee043, b/173832789)

Versione 1.0.0-alpha08

2 dicembre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha08, androidx.compose.material:material-icons-core:1.0.0-alpha08 e androidx.compose.material:material-icons-extended:1.0.0-alpha08. La versione 1.0.0-alpha08 contiene questi commit.

Modifiche alle API

  • MaterialTheme ora imposta i colori corretti per i punti di manipolazione di selezione e lo sfondo della selezione. Le app non Material possono utilizzare manualmente AmbientTextSelectionColors per personalizzare i colori utilizzati per la selezione. (I1e6f4, b/139320372, b/139320907)
  • È stato aggiunto il controllo del lint per la denominazione e la posizione dei parametri lambda componibili al fine di verificare la coerenza con le linee guida di Compose. Inoltre, è stata eseguita la migrazione di alcune API utilizzando children come nome per il lambda finale in content, in base al controllo del lint e alle indicazioni. (Iec48e)
  • VectorAsset rinominato in ImageVector VectorAsset spostato e rinominato in Builder una classe interna di ImageVector come da Linee guida del comitato API. typealias di VectorAssetBuilder aggiunto a link a ImageVector.Builder per compatibilità. (Icfdc8)
  • ImageAsset rinominati e metodi correlati a ImageBitmap. (Ia2d99)
  • Proprietà semantiche di base spostate nella UI (I6f05c)
  • fun RippleIndication() è stato deprecato e sostituito con rememberRippleIndication() per coerenza con altre API. (Id8e2c)
  • È stato aggiunto un parametro singeLine a BasicTextField, TextField e OutliningTextField. Imposta questo parametro su true per rendere il campo di testo un'unica riga scorrevole orizzontalmente. (I57004, b/168187755)

Correzioni di bug

  • Aggiungi l'azione semantica Ignora (I2b706)
  • Le API DrawModifier sono state spostate dalla pacchetto androidx.compose.ui nella Pacchetto androidx.compose.ui.draw. File DrawModifierDeprecato.kt creato in includi metodi typealias/helper per supportare con della migrazione dall'infrastruttura deprecata all'attuale su quelle di livello inferiore. (Id6044, b/173834241)
  • Modifier.drawlayer rinominato in Modifier.graphicslayer Sono state aggiornate anche le classi correlate a Graphicslayer in base a Feedback sull'API. (I0bd29, b/173834241)
  • <T> è stato rimosso dalla dichiarazione SubcomposeLayout. Ora puoi utilizzarlo senza specificare un tipo. (Ib60c8)
  • Aggiunta Modifier.scale/rotate aggiunto le API per il drawlayer.
    • Modifier.drawOpacity rinominato in Modifier.alpha
    • Modifier.drawShadow rinominato in Modifier.shadow (I264ca, b/173208140)
  • Il parametro di allineamento di Box è stato rinominato in contentAllineament. (I2c957).
  • I modificatori offsetPx sono stati rinominati in offset. Prende i parametri lambda anziché i parametri State. (Ic3021, b/173594846)
  • È stato introdotto SweepGradientShader e le API SweepGradientBrush. (Ia22c1).
  • È stato aggiunto il controllo dei lint per i parametri di modifica nelle funzioni componibili. Questo controllo del lint verifica la coerenza con le linee guida di Compose per nome, tipo restituito, valore predefinito e ordine del parametro. (If493b)
  • API TextFieldValue aggiornata
    • impostato TextFieldValue.composition in sola lettura
    • viene generata un'eccezione rimossa per l'intervallo di selezione non valido (I4a675, b/172239032)
  • È stato aggiunto un nuovo sovraccarico di Modifier.drawLayer(). Occorre un blocco lambda in un nuovo GraphicslayerScope in cui definisci i parametri del livello in modo da saltare la ricomposizione e il relayout quando si verifica il cambiamento di stato. DrawlayerModifier è ora interno in preparazione alla migrazione della sua logica al metodo placeable.placeWithLayer() di LayoutModifier (I15e9f, b/173030831)
  • Ambienti deprecati denominati con Ambient come suffisso e sostituiti con nuove proprietà con prefisso Ambient, conformi alle altre linee guida dell'API Ambient e Compose. (I33440)
  • È stato aggiunto il controllo lint per verificare che le fabbriche di modifica utilizzino androidx.compose.ui.composed {} internamente anziché essere contrassegnato come @Composable. (I3c4bc).
  • L'argomento semantico aggregateAllDescendants è stato rinominato in joinDescendants. (Ib6250)
  • Il controllo del tempo nei test (TestAnimationClock e relativi utilizzi) è ora in fase sperimentale (I6ef86, b/171378521)
  • Rimuovi il vecchio modulo di test dell'ui e i relativi stub (I3a7cb)
  • TextUnit.Inherit è rinominata TextUnit.Unspecified per coerenza con altre unità. (Ifce19)
  • L'interfaccia di Allineamento è stata aggiornata e resa funzionale. (I46a07, b/172311734)
  • id è stato rinominato in layoutId per LayoutIdParentData. Marketers.id è stato rinominato dataflow.layoutId. (Iadbcb, b/172449643)

Versione 1.0.0-alpha07

11 novembre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha07, androidx.compose.material:material-icons-core:1.0.0-alpha07 e androidx.compose.material:material-icons-extended:1.0.0-alpha07. La versione 1.0.0-alpha07 contiene questi commit.

Modifiche alle API

  • Enfasi è stata ritirata e sostituita con AmbientContentAlpha. AmbientContentAlpha è un'astrazione più semplice che rappresenta l'alfa dei contenuti preferiti per parte della gerarchia, in modo simile al modo in cui AmbientContentColor rappresenta il colore dei contenuti preferito. Testo e Icona ora consumano il valore corrente di AmbientContentAlpha per impostazione predefinita ed è possibile eseguire manualmente color.copy(alpha = AmbientContentAlpha.current) per ottenere lo stesso effetto nei componenti. Invece di utilizzare ProvideEmphasis, puoi fornire direttamente un valore tramite AmbientContentAlpha e utilizzare i nuovi livelli predefiniti in ContentAlpha per sostituire i vecchi EmphasisLevels. (Idf03e, b/159017896)
  • Aggiunge androidx.compose.material.AmbientContentColor per sostituire androidx.compose.foundation.AmbientContentColor (I84f7b, b/172067770)
  • Aggiunge androidx.compose.material.Text per sostituire androidx.compose.foundation.Text come componente di testo di alto livello con tema. Per un componente di testo di base che non consuma il colore / lo stile del testo del tema, utilizza BasicText. (Ie6ae0).
  • MaxLines aggiunti ai campi di testo (Ib2a5b)
  • Aggiorna i campi di testo per accettare KeyboardOptions (Ida7f3)
  • Per il calcolo degli overlay di elevazione, la superficie ora utilizza l'elevazione assoluta (totale), pertanto una superficie nidificata in un'altra superficie utilizzerà l'elevazione combinata per disegnare l'overlay. (I7bd2b, b/171031040)

Correzioni di bug

  • captureToBitmap spostati in captureToImage. (I86385)
  • Gli elementi di base AmbientTextStyle, ProvideTextStyle e AmbientContentColor sono stati deprecati. Utilizza invece le nuove versioni disponibili nella libreria Material. Per le applicazioni non Material, devi invece creare un tuo sistema di progettazione specifico per la tematizzazione, che possono essere utilizzati nei tuoi componenti. (I74acc, b/172067770)
  • Foundation.Text è stato deprecato e sostituito con material.Text. Per un'API di testo di base non definita che non utilizza valori di un tema, vedi androidx.compose.foundation.BasicText. (If64cb)
  • Rinomina KeyboardOptions come ImeOptions (I82f36)
  • KeyboardType e ImeAction spostate in KeyboardOptions (I910ce)
  • Il campo BaseTextField è stato deprecato. Utilizza invece BasicTextField. (I896eb)
  • L'annotazione ExperimentalSubcomposeLayoutApi è stata rimossa. Ora è possibile utilizzare SubcomposeLayout senza aggiungere @OptIn (I708ad)
  • FirstBaseline e LastBaseline sono stati spostati nel pacchetto androidx.compose.ui.layout (Ied2e7)
  • API Icona aggiornata per acquisire colori.Non specificato come possibile colore di tinta che disegnerà risorsa o pittore senza ColorFilter. In precedenza tenta di ignorare la colorazione con Color.Unspecified finirebbe per ottenere un colore trasparente senza eseguire alcuna visualizzazione. (I049e2, b/171624632)
  • relativePaddingFrom è stato rinominato paddingFrom. È stato aggiunto il modificatore paddingFromBaseline per specificare le distanze dai limiti di layout alle basi del testo. (I0440a, b/170633813)
  • LaunchedTask è stato rinominato in LaunchedEffect per coerenza con le API SideEffect e DisposableEffect. Lanciatoeffetto senza non sono consentiti per incoraggiare le best practice. (Ifd3d4).
  • MeasureResult è stato spostato fuori da MeasureScope. (Ibf96d, b/171184002)
  • Diversi simboli relativi al layout sono stati spostati da androidx.compose.ui ad androidx.compose.layout.ui. (I0fa98, b/170475424)

Versione 1.0.0-alpha06

28 ottobre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha06, androidx.compose.material:material-icons-core:1.0.0-alpha06 e androidx.compose.material:material-icons-extended:1.0.0-alpha06. La versione 1.0.0-alpha06 contiene questi commit.

Modifiche alle API

  • L'elemento androidx.compose.foundation.Icon è stato spostato in androidx.compose.material.Icon. Se non desideri utilizzare la libreria Material, puoi anche utilizzare il componente Immagine / Modifier.paint() con un Painter. (I9f622)
  • Aggiunge FloatingActionButtonElevation per rappresentare l'elevazione utilizzata dai FAB in stati diversi. Consulta FloatingActionButtonConstants.defaultElevation() per l'implementazione predefinita (I2d4f5)
  • Aggiunge l'interfaccia SwitchColors per rappresentare i colori utilizzati da uno switch in diversi stati. Vedi SwitchConstants.defaultColors per personalizzare questi colori. (I93805)
  • Aggiunge le interfacce ButtonElevation e ButtonColors per rappresentare l'elevazione e i colori utilizzati dai pulsanti in stati diversi. Visualizza le funzioni predefinite in ButtonConstants per personalizzare questi parametri. (Ic5b7b).
  • Aggiunge l'interfaccia RadioButtonColors per rappresentare i colori utilizzati da un parametro RadioButton in diversi stati. Vedi RadioButtonConstants.defaultColors() per personalizzare i colori utilizzati in diversi stati. (I74130)
  • Aggiunge l'interfaccia CheckboxColors per rappresentare i colori utilizzati da una casella di controllo in diversi stati. Vedi CheckboxConstants.defaultColors() per personalizzare i colori utilizzati in diversi stati. (I7dbdb)

Correzioni di bug

  • I componenti del materiale non impostano più l'elevazione come zIndex. Ciò significa che all'interno dello stesso file principale il file secondario con ombra maggiore non verrà disegnato automaticamente sopra il file secondario con quello più piccolo. Se hai comunque bisogno di un comportamento di questo tipo, imposta manualmente Modifier.zIndex() dove necessario (I70417, b/170623932)
  • Ritira VectorPainter in di learnVectorPainter per migliorare indica che l'API componibile internamente utilizza il comando "remember" per rendere persistenti i dati composizioni. (Ifda43).
  • Abilita le transizioni in ComposeTestRule; rimuovi l'opzione per attivare il cursore lampeggiante da ComposeTestRule. (If0de3).
  • Aggiunta l'opzione della tastiera a riga singola a CoreTextField (I72e6d)
  • L'API Radius è stata rinominata in CornerRadius per esprimere al meglio e come viene utilizzato in Compose. Documentazione aggiornata per indicare che i raggi angolari negativi siano fissati a zero. (I130c7, b/168762961)
  • Refactoring di DrawScope e ContentDrawScope per essere interfacce al posto delle classi astratte
    • Implementazione di CanvasDrawScope creata di DrawScope
    • Implementazioni sottoposte a refactoring DrawScope per usare CanvasScope
    • DrawContext creato per aggregare le dipendenze per DrawScope
    • Metodi deprecati rimossi da DrawScope (I56f5e)
  • Box è stato trasformato in una funzione in linea. (Ibce0c, b/155056091)

Versione 1.0.0-alpha05

14 ottobre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha05, androidx.compose.material:material-icons-core:1.0.0-alpha05 e androidx.compose.material:material-icons-extended:1.0.0-alpha05. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Ora i popup e le finestre di dialogo ereditano FLAG_SECURE dalla finestra principale. È stata aggiunta anche l'opzione per configurarla esplicitamente (I64966, b/143778148, b/143778149)
  • Modifier.sWipeable ha ora soglie di 56.dp per gli stati (Iab825, b/168610267)
  • tutti gli stati dello scaffold contrassegnati come @Stable. riquadro gestitosEnabled in ScaffoldState è stato spostato in Scaffold stesso. (I36645, b/168297016)
  • Rimuove il tipo di valore null dai parametri lambda Scaffold. Puoi utilizzare emptyContent() per rappresentare nessun contenuto per un determinato parametro. (I2b318, b/157633857, b/158551084)
  • Ritira le API contentColor() e currentTextStyle() e le sostituisce rispettivamente con gli ambienti AmbientContentColor e AmbientTextStyle. Puoi accedere al valore corrente utilizzando .current nella proprietà Ambient, come in qualsiasi altro ambiente. Questa modifica è stata apportata per garantire la coerenza e evitare di avere più modi per ottenere lo stesso risultato. Inoltre, rinomina alcune proprietà Ambient per descriverne meglio lo scopo come segue:

    • ContentColorAmbient -> Colore contenuti ambientali
    • Stile di testo Ambient -> Stile di testo ambientale
    • IndicationAmbient -> Indicatore Ambient
    • Enfasi Ambient -> Livelli di Emphasis Ambient
    • RippleThemeAmbient -> AmbientRippleTheme (I37b6d)
  • Aggiunge AmbientElevationOverlay, consentendo di personalizzare / disattivare l'overlay di elevazione predefinito applicato alle superfici con tema scuro. (I5b74d).

Correzioni di bug

  • Nell'ambito della procedura di standardizzazione, di valori sentinella per le classi in linea, rinomina Color.Unset in Color.Unspecified per coerenza con altre classi in linea (I97611, b/169797763)
  • Viene introdotto TextOverflow.None. Quando l'overflow è impostato su None, il testo non gestirà più l'overflow e segnalerà le loro dimensioni effettive a LayoutNode. (I175c9, b/158830170)
  • lancioInComposizione rinominata in LaunchedTask per corrispondere a Compose Linee guida per le API (I99a8e)
  • OnPositionedModifier è stato rinominato OnGloballyPositionedModifier mentre onPositioned() è il nuovo nome onGloballyPositioned(). (I587e8, b/169083903)

Versione 1.0.0-alpha04

1° ottobre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha04, androidx.compose.material:material-icons-core:1.0.0-alpha04 e androidx.compose.material:material-icons-extended:1.0.0-alpha04. La versione 1.0.0-alpha04 contiene questi commit.

Modifiche alle API

  • Espone i parametri InteractionState nei componenti Material stateful per consentire il sollevamento dello stato e la lettura / il controllo dello stato. (Iaca5f, b/168025711, b/167164434)
  • Modifica i parametri *color in RadioButton e TriStateCheckbox per consentire la personalizzazione completa dei colori utilizzati in ogni stato, nonché per modificare il modo in cui i colori si animano tra gli stati, se lo desideri. Per ulteriori informazioni, vedi le nuove funzioni colore animateDefault* in CheckboxConstants e RadioButtonConstants. (I1c532).
  • Il valore di keepBackdropState è stato rinominato per ricordareBackdropScaffoldState e abbiamo aggiunto un ulteriore parametro per l'orologio dell'animazione. Parametro rinominato sfondoScaffoldState of BackdropScaffold per solo scaffoldState. Rinominato Da BackdropConstants a BackdropScaffoldConstants. (Ib644d)
  • È stato aggiunto il componente sperimentale BottomSheetScaffold. (Ie02f0, b/148996320)
  • È stato aggiunto il componente sperimentale ModalBottomSheetLayout. (Ic209e, b/148996320)
  • Consente di rinominare ButtonConstants/FloatingActionButtonConstants.defaultAnimatedElevation a defaultElevation e ora restituisce un valore Dp anziché un AnimatedValue. (I5f3ed).

Correzioni di bug

  • Aggiornamento di molte API grafiche
    • Scalabilità e rotazione aggiornate API di trasformazione per utilizzare una singola Parametro di offset per rappresentare il pivot coordinata invece di numero in virgola mobile separato per le coordinate x/y in DrawScope e DrawTransform
    • Rimossi Rect.expandToInclude e Rect.join metodi
    • Documentazione Raggio aggiornata per indicare ovale oltre all'ellittica,
    • È stata aggiunta la documentazione che indica costruttore pubblico per il raggio in linea non venga chiamata direttamente, ma È necessario creare un'istanza per gli oggetti raggio i loro costruttori di funzioni
    • Rimosse le API RoundRect per eseguire query in topRight, in basso a destra, in basso al centro ecc.
    • Rect.shift obsoleto in favore di Rect.translate
    • Rimosse le API RoundRect.grow e Rect.shrink
    • RoundRect.outerRect rinominato in Rect.boundingRect
    • Rimosso RoundRect.middleRect/tallMiddleRect/wideMiddleRect e Rect.isStadium
    • RoundRect.longestSide è stato rinominato RoundRect.maxDimensione
    • RoundRect.shortestSide è stato rinominato RoundRect.minDimensione
    • RoundRect.center modificato in una proprietà anziché in una funzione
    • Costruttore RoundRect aggiornato per utilizzare le proprietà Raggio anziché i singoli parametri per i valori del raggio x/y
    • Rimosse le API Dimensioni che supponevano che si trattasse di un rettangolo con origine a 0,0
    • Aggiunta di un'API di distruzione a Radius
    • Migrazione di varie funzioni di estensione RoundRect in modo che proprietà
    • (I8f5c7, b/168762961)
  • Foundation.Box è stato deprecato. Usa il metodo ground.layout.Box. (Ie5950, b/167680279)
  • Stack è stato rinominato Box. Il formato Box esistente in precedenza verrà ritirato e sostituito con il nuovo Box all'indirizzo composizione.foundation.layout. Il comportamento del nuovo riquadro consiste nell'impilare gli elementi secondari uno sopra l'altro quando sono presenti più elementi secondari. È diverso dal riquadro precedente, che aveva un comportamento simile a quello di una colonna. (I94893, b/167680279)
  • I parametri per la decorazione della casella sono stati ritirati. Se vuoi aggiungere decorazioni/spaziature sulla scatola, usa i Modifiers (Modifier.background, Modifier.edge, Modifier.padding) (Ibae92, b/167680279).
  • Aggiornamento di molte API grafiche
    • API DrawScope aggiornate con ambito di trasformazione per indicare che la trasformazione viene applicata solo all'interno il callback e rimosso dopo l'invocazione del callback
    • Documentazione clipPath aggiornata per fare riferimento a Percorso al posto del rettangolo arrotondato
    • Spaziatura fissa nella documentazione per il parametro giusto in clipPath
    • DrawScope.drawCanvas è stato rinominato in drawIntoCanvas e parametro size rimosso
    • I parametri dx/dy sono stati rinominati nel metodo inset orizzontale e verticale
    • Aggiunto un sovraccarico nel riquadro che fornisce lo stesso inserisci il valore in tutti e 4 i limiti
    • Rimossa la documentazione sul metodo con inserto che indicava questo riquadro viene applicato a tutti e 4 i lati
    • Documentazione aggiornata per la classe Rect
    • Commenti aggiornati sui parametri Rect per farli corrispondere a Kdoc stile
    • Rect.join e Rect.expandToInclude rimossi
    • È stato creato un sovraccarico per Rect.translate(offset) e Rect.shift deprecato
    • (If086a, b/167737376)
  • Abbiamo impedito le importazioni statiche dei contenuti degli ambiti di layout (ad es.alignWithSiblings in RowScope). Al suo posto, è necessario utilizzare l'alternativa relativa all'ambito esplicito: with(RowScope) { Modifier.alignWithSiblings(FirstBaseline) }. (I216be, b/166760797)

Versione 1.0.0-alpha03

16 settembre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha03, androidx.compose.material:material-icons-core:1.0.0-alpha03 e androidx.compose.material:material-icons-extended:1.0.0-alpha03. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • Rinomina il parametro onSelect di BottomNavigationItem in onClick (I91925, b/161809324)
  • Aggiunge il parametro InteractionState a BottomNavigatorItem e Tab, consentendo di sollevare questo stato e regolare l'aspetto del componente in diversi stati. (Ia3e9e, b/168025711)
  • Rimuove i parametri disabledBackgroundColor e disabledContentColor dai pulsanti. Devi invece utilizzare le nuove funzioni di colore predefinite all'interno di ButtonConstants. Se stai già impostando esplicitamente contentColor / backgroundColor, devi invece utilizzare queste funzioni predefinite e personalizzare alcuni o tutti i parametri per evitare di sovrascrivere il colore per entrambi gli stati attivati/disattivati. (If9b52).
  • Il colore di sfondo del campo di testo non applica più in modo implicito la trasparenza alpha. Verrà invece applicato direttamente qualsiasi colore fornito tramite il parametro backgroundColor. (Iecee9, b/167951441)
  • InnerPadding è stato rinominato PaddingValues. (I195f1, b/167389171)
  • I parametri resistanceFactorAtMin e resistanceFactorAtMax in Modifier.swipeable sono stati sostituiti con un singolo parametro di resistenza. Un nuovo metodo defaultResistanceConfig è stato aggiunto in SwipeableConstants. (I54238)
  • Aggiunge un supporto animato per l'elevazione stateful per Button e FloatingActionButton. L'elevazione ora si anima tra stato predefinito e stato premuto. Per personalizzare l'elevazione tra stati, utilizza ButtonConstants.defaultAnimatedElevation() e FloatingActionButtonConstants.defaultAnimatedElevation() anziché impostare un valore Dp fisso in tutti i casi. (I37925)
  • L'etichetta è diventata un parametro facoltativo all'interno di TextField e OutliningTextField (I267f6, b/162234081)

Correzioni di bug

  • Le funzioni di test globali, ad esempio onNode o waitForIdle, sono ora deprecate, esegui la migrazione alle nuove controparti definite ComposeTestRule (I7f45a)
  • I DpConstraints e le API che lo utilizzano sono stati deprecati. (I90cdb, b/167389835)
  • I parametri minwidth e maxwidth di widthIn sono stati rinominati in min e max. Allo stesso modo per preferredLarghezzaIn, altezzaIn, altezza preferitaAltezzaIn. (I0e5e1, b/167389544)
  • Rimuovi le azioni semantiche di scorrimento avanti/indietro. Passaggi aggiunti in AccessibilityRangeInfo. (Ia47b0)
  • Gli utilizzi della gravità sono stati rinominati in modo coerente in allineamento o allineamento nelle API di layout. (I2421a, b/164077038)
  • Aggiunti onNode e altri metodi globali a ComposeTestRule come quelle globali attuali saranno ritirate. (IEae 36).
  • createAndroidComposeRule e AndroidInputDispatcher spostati da Da androidx.ui.test.android a androidx.ui.test (Idef08, b/164060572)

Versione 1.0.0-alpha02

2 settembre 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha02, androidx.compose.material:material-icons-core:1.0.0-alpha02 e androidx.compose.material:material-icons-extended:1.0.0-alpha02. La versione 1.0.0-alpha02 contiene questi commit.

Modifiche alle API

  • È stato aggiunto un componente sperimentale BackdropScaffold. (Iad908)

Correzioni di bug

  • Matrix4 è stato sostituito con Matrix. Tutte le altre parti del pacchetto vectormath sono state rimosse. (Ibd665, b/160140398)

Versione 1.0.0-alpha01

26 agosto 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:1.0.0-alpha01, androidx.compose.material:material-icons-core:1.0.0-alpha01 e androidx.compose.material:material-icons-extended:1.0.0-alpha01. La versione 1.0.0-alpha01 contiene questi commit.

Problema noto

= Il primo carattere in un materiale TextField non può essere rimosso usando un backspace (b/165956313)

Versione 0.1.0-dev

Versione 0.1.0-dev17

19 agosto 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:0.1.0-dev17, androidx.compose.material:material-icons-core:0.1.0-dev17 e androidx.compose.material:material-icons-extended:0.1.0-dev17. La versione 0.1.0-dev17 contiene questi commit.

Modifiche alle API

  • I valori RadioGroup e RadioGroupItems precedentemente deprecati sono stati rimossi. Utilizza invece Row e RadioBotton (I381b7, b/163806637)
  • Rimosse le richiamate onFocusChanged da TextField. Usa invece Modifier.focusObserver. (I51089, b/161297615)
  • Modifier.drawBorder è stato ritirato. Usa invece Modifier.border. La classe dei dati confine è stata sostituita da BorderStroke (I4257d, b/158160576)
  • Alcune proprietà sono state rinominate in SwipeableState: swipeTarget -> Valore target, swipeProgress -> progressi, swipeDirection -> . È stata aggiunta una funzione keepScorriableState per creare swipeableStates. (I2fc9c, b/163129614, b/163132293)
  • È stato aggiunto il supporto per lo snackbar con il posizionamento e la coda corretta. Puoi accedervi tramite la funzione di sospensione di SnackbarHostState.showSnackbar. Inoltre:
    • I componenti SnackbarHost sono stati aggiunti. Ospita snack bar in base allo stato ed è responsabile del passaggio da uno snackbar all'altro.
    • È stato aggiunto SnackbarHostState per consentire il controllo di snackbar e host di snackbar e di disaccoppiarlo dallo ScaffoldState. puoi accedere a questo stato anche tramite scaffoldState.snackbarHostState.
    • È stato aggiunto il sovraccarico dello snackbar per supportare l'interfaccia comune tra snackbarHostState e le snackbar stesse. (I79aaa)
  • Aggiunge il parametro attivato a IconButton e riordina i parametri in IconToggleButton (I0a941, b/161809385, b/161807956)
  • La versione ListItem con l'API basata su stringhe è stata rimossa. Utilizza invece la versione slot. (Ib8f57, b/161804681)
  • Rimosso il componente FilledTextField obsoleto. Utilizza TextField invece per ottenere l'implementazione di Material Design del campo Testo compilato. (I5e889).
  • AlertDialog ora utilizza FlowRow per i pulsanti (I00ec1, b/161809319, b/143682374)
  • Sono stati aggiunti parametri in Modifier.svisibleable per modificare il numero di resistenza quando si scorre oltre i limiti. [min/max]Parametri valore rimossi. (I93d98)
  • È stato aggiunto il parametro backgroundColor a LinearProgressIndicator e è stata rimossa la spaziatura interna interna da CircularProgressIndicator. Aggiunto un nuovo elemento ProgressIndicatorConstants.DefaultProgressAnimationSpec che può essere utilizzato come AnimationSpec predefinito quando si anima l'avanzamento tra i valori (If38b5, b/161809914, b/161804677)
  • Parametro facoltativo velocityThreshold aggiunto a Modifier.svisibleable. (I698ba)
  • bottomBarSize, fabSize e altri e non sono più disponibili in ScaffoldState. Utilizza Modifier.onPosition invece sul componente di cui vuoi conoscere le dimensioni. I parametri contentColor e Modificatori sono stati aggiunti a Scaffold (Ic6f7b, b/161811485, b/157174382)
  • Rinomina e riordina alcuni parametri in Tab per coerenza con altre API (Ia2d12, b/161807532)
  • Suddivide TabRow in TabRow e ScorribileTabRow, rimuovendo isscrollable da TabRow. Espone anche edgePadding in ScorribileTabRow, che consente di controllare lo spazio libero prima / dopo le schede. (I583e8, b/161809544)
  • L'oggetto TabRow è stato rimosso e lo ha sostituito con TabConstants. TabRow.TabPosition è stato spostato al livello superiore (TabPosition) ed esterneContainer è stato rinominato in indicator. Consulta gli esempi e la documentazione per informazioni dettagliate su come utilizzare l'API aggiornata e le impostazioni predefinite. (I54d45, b/161809544)
  • Il parametro delle soglie in Modifier.svisibleable è stato modificato; ora prende una coppia di stati (di tipo T) e restituisce la soglia tra di essi sotto forma di ThresholdConfig. Un parametro ignora Soglie è stato aggiunto a ScorriPerIgnorare, che è un lambda (SkipDirection) -> ThresholdConfig. (Ie1080)
  • Il cursore ha più colori per una personalizzazione granulare (I73e64, b/161810475)
  • Il parametro colore della carta è stato rinominato backgroundColor (I01fc1, b/161809546)
  • Snackbar dispone ora di colori di sfondo e dei contenuti personalizzabili (I238f2, b/161804381)
  • I parametri di personalizzazione di modificatore, backgroundColor, contentColor e scrimColor sono stati aggiunti ai Drawers (I23655, b/161804378)
  • Il componibile state { ... } è ora deprecato e sostituito con inviti espliciti a remember { mutableStateOf(...) } per maggiore chiarezza. Ciò riduce la superficie complessiva dell'API e il numero di concetti per lo stato gestione e corrisponde al pattern by mutableStateOf() per la classe delega delle proprietà. (Ia5727)
  • Il parametro di spaziatura interna del pulsante è stato rinominato contentPadding (Id252e, b/161809394)
  • Aggiungi un componente sperimentale del materiale ScorriPerIgnora. (I129e5)

Correzioni di bug

  • onChildPositioned e OnChildPositionedModifier rimossi. Gli sviluppatori dovrebbero usare onPositioned e OnPositionedModifier nel layout secondario. (I4522e, b/162109766)
  • È stato aggiunto il criterio diMergePolicy lambda a SemanticsPropertyKey. Può essere utilizzato per definire un criterio personalizzato per la semantica diMergeAllDescendants l'unione. Il criterio predefinito prevede l'utilizzo del valore padre, se già impostato presente, altrimenti il valore figlio. (Iaf6c4, b/161979921)
  • IntSize ora è una classe in linea (I2bf42)
  • PlacementScope.placeAbsolute() è stato rinominato in PlacementScope.place() e la PlacementScope.place() precedente è stata rinominata PlacementScope.placeRelative(). Di conseguenza, il metodo PlacementScope.place() non rispecchierà più automaticamente la posizione in contesti con scrittura da destra a sinistra. Se vuoi, puoi usare il criterio PlacementScope.placeRelative(). (I873ac, b/162916675)
  • PxBound deprecati in a favore di Rect. Tutti gli utilizzi sono stati aggiornati di PxBounds con rettangolo e aggiunto ritirarli/sostituire correttamente annotazioni per supportare il migrazione. (I37038, b/162627058)
  • RRect rinominato in RoundRect per adattarsi meglio ai pattern di denominazione per la scrittura Costruttori di funzioni simili creati a RRect e la funzione RRect deprecata costruttori (I5d325)

Versione 0.1.0-dev16

5 agosto 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:0.1.0-dev16, androidx.compose.material:material-icons-core:0.1.0-dev16 e androidx.compose.material:material-icons-extended:0.1.0-dev16. La versione 0.1.0-dev16 contiene questi commit.

Modifiche alle API

  • Colors è ora una classe finale anziché un'interfaccia. Invece di estendere e fornire un'implementazione personalizzata, devi creare un nuovo Ambient per l'oggetto con tema personalizzato e accedervi tramite il nuovo Ambient nei tuoi componenti, in modo simile al funzionamento interno di MaterialTheme. (Ibae84)
  • ColorPalette è stata rinominata in Colors (Colori), per una migliore mappatura al sistema Material Colors e per evitare confusione perché ColorPalette è un nome generico a tema, invece di essere un'implementazione specifica del sistema di colori Material. Inoltre, lightColorPalette e darkColorPalette vengono rinominati rispettivamente in lightColors e darkColors. (I9e976, b/161812111)
  • Rinomina il parametro text di BottomNavigatorItem in label, onSelected in onSelect, activeColor in selectedContentColor e inactiveColor in unselectedContentColor e aggiorna l'ordine dei parametri in modo che corrisponda alle linee guida. (Icb605, b/161809324)
  • Modifier.stateDraggable è stato completamente rielaborato e rinominato in Modifier.svisible. È stata introdotta una nuova classe swipeableState È stato eseguito il refactoring di DrawerState e BottomDrawerState in modo da ereditarlo. [Modal/Bottom]DrawerLayout non accetta più il parametro onStateChange. (I72332, b/148023068)
  • Il pacchetto Fundamentals.shape.corner è stato appiattito a Foundation.share (I46491, b/161887429)
  • È stata aggiunta l'annotazione ExperimentalMaterialApi. RippleTheme contrassegnato come sperimentale (Ic5fa0, b/161784800)
  • Material FilledTextField è stato rinominato TextField e TextField di base è stato rinominato BaseTextField per semplificare l'individuazione e l'utilizzo dell'API desiderata più semplice (Ia6242, b/155482676)

Correzioni di bug

  • Il valore OnChildPositioned è stato ritirato. Utilizza OnPositioned sul figlio. (I87f95, b/162109766)
  • Correzione di correzioni API generiche (I077bc)
      .
    1. Rimuovi l'interfaccia OffsetBase inutilizzata
    2. Allinea le classi Offset e IntOffset per avere una piattaforma API coerente
    3. Rinomina IntOffset.Origin in IntOffset.Zero coerente con l'API Offset
    4. Metodo nativeCanvas spostato da Canvas interfaccia per aiutare i consumatori a creare delle proprie istanze Canvas
    5. È stata creata la classe stub EmptyCanvas di cui eseguire il refactoring DrawScope per essere un parametro non null al posto di lateinit e garantire che il campo non sia nullo
    6. Le enumerazioni ClipOp sono state rinominate in Pascal Case
    7. Le enum di FiltroQualità sono state rinominate in richiesta Pascal
    8. Le enumerazioni StrokeJoin sono state rinominate in richiesta Pascal
    9. Le enumerazioni PointMode sono state rinominate in caso Pascal
    10. Le enumerazioni PaintingStyle rinominate in Pascal Case
    11. Le enum PathFillType sono state rinominate in maiuscole e minuscole
    12. Le enumerazioni StrokeCap sono state rinominate in caso Pascal
    13. Implementazione DrawCache aggiornata in modo che non sia più utilizza parametri lateinit
    14. DrawScope aggiornato per non utilizzare più la delega lazy per i parametri interni FillPaint e pulsePaint
    15. Immagine componibile aggiornata per evitare l'uso di Box a un costo minore
    16. Aggiornata la classe Outline per avere annotazioni @Immutable
    17. PathNode aggiornato dispone di annotazioni @Immutable per l'istruzione di ogni percorso
    18. Sottocomposizione Vector aggiornata per rimuovere i file ridondanti controlli condizionali di uguaglianza mentre gestisce già la scrittura loro
    19. Metodi costruttore companion Rect deprecati a favore di costruttori di funzioni
    20. Classi e costruttori di funzioni di Pennello aggiornati con API @Immutable e @Stable
    21. Enum VertexMode aggiornato in PascalCase
    22. Metodo selectPaint DrawScope aggiornato in modo condizionale i parametri del tratto sul dipinto, se presenti modificato
    23. Dimensioni aggiornate per aggiungere l'API di destrutturazione, rinomina Da UnspecifiedSize a Non specificato e metodi inutilizzati rimossi
  • Sposta la finestra di dialogo nell'interfaccia utente (I47fa6)
  • SemanticsNodeInteraction.performPartialGesture rimosso. Utilizza le funzionalità di SemanticsNodeInteraction.performGesture in alternativa. (ID9b62)
  • SemanticsNodeInteraction.getBoundsInRoot() rinominato in SemanticsNodeInteraction.getUnclippedBoundsInRoot() (Icafdf, b/161336532)
  • Le API per il supporto da destra a sinistra sono state aggiornate. È stato aggiunto LayoutDirectionAmbient, che può essere utilizzato per leggere e modificare la direzione del layout. Modifier.rtl e Modifier.ltr sono stati rimossi. (I080b3)
  • Modifier.deternimateProgress è stato rinominato Modifier.progressSemantics (I9c0b4)
  • Aggiorna le icone material-estese con le icone più recenti aggiunte a Material.io/icon (I4b1d3)
  • Richiedi che il tipo T sia specificato esplicitamente per transizioniDefinition. (I1aded)
  • Modifier.plus è stato ritirato. Usa Modifier.then al suo posto. 'Allora' ha un segnale di ordinamento più forte, ma vieta anche di digitare Modifier.padding().background() + anotherModifier, il che spezza la catena e rende più difficile da leggere (Iedd58, b/161529964)
  • È stato rinominato AndroidComposeTestRule per creareAndroidComposeRule. (I70aaf)
  • Aggiungi isFocused() e isNotFocused() SemanticsMatcher. (I0b760).
  • Rimozione di BaseGestureScope.globalBounds, che non deve essere utilizzati dai test. Utilizza le coordinate locali del nodo con cui ti trovi a interagire. (Ie9b08)
  • È stata corretta la posizione dei popup sui display ritagliati. (Idd7dd)
  • Modifier.drawBackground è stato rinominato in Modifier.background (I13677)

Versione 0.1.0-dev15

22 luglio 2020

Vengono rilasciate le funzionalità androidx.compose.material:material:0.1.0-dev15, androidx.compose.material:material-icons-core:0.1.0-dev15 e androidx.compose.material:material-icons-extended:0.1.0-dev15. La versione 0.1.0-dev15 contiene questi commit.

Aggiornamento delle dipendenze

  • Per utilizzare la versione 0.1.0-dev15 di Compose, dovrai aggiornare le dipendenze in base ai nuovi snippet di codice mostrati sopra nella sezione Dichiarazione delle dipendenze.

Modifiche alle API

  • L'annotazione @Model è ora deprecata. Usa state e mutableStateOf come alternative. Questa decisione relativa al ritiro è stata presa dopo un'attenta discussione.

    Giustificazione

    La motivazione include, a titolo esemplificativo:

    • Riduce l'area e i concetti di base delle API da insegnare
    • È più in linea con altri toolkit comparabili (Swift UI, React, Flutter)
    • Decisione reversibile. Possiamo sempre ripristinare @Model in un secondo momento.
    • Elimina l'uso dei casi limite e le domande difficili da rispondere sulla configurazione di @Model come aspetti da gestire
    • @Model classi di dati, uguale, hashcode ecc.
    • Come posso "osservare" alcune proprietà e altre no?
    • Come posso specificare l'uguaglianza strutturale e referenziale da utilizzare nell'osservazione?
    • Riduce la "magia" nel sistema. ridurrebbe la probabilità che qualcuno supponga che il sistema sia più intelligente di quanto lo sia (ovvero che sa come confrontare un elenco)
    • Rende la granularità dell'osservazione più intuitiva.
    • Migliora la capacità di refactoring della variabile -> proprietà sulla classe
    • Apre potenzialmente la possibilità di fare ottimizzazioni manuali specifiche per lo stato
    • Si allinea più da vicino al resto dell'ecosistema e riduce l'ambiguità verso l'immutabile o il fatto di "accettare uno stato mutabile"

    Note sulla migrazione

    Quasi tutti gli utilizzi esistenti di @Model vengono trasformati in modo banale in uno di questi due modi. L'esempio seguente ha una classe @Model con due proprietà a solo scopo di esempio e viene utilizzata in un componibile.

    @Model class Position(
     var x: Int,
     var y: Int
    )
    
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    Alternativa 1: usa State<OriginalClass> e crea delle copie.

    Questo approccio è semplificato dalle classi di dati di Kotlin. In sostanza, trasforma tutte le proprietà var precedenti in proprietà val di una classe di dati, quindi utilizza state anziché remember e assegna il valore dello stato alle copie clonate dell'originale utilizzando il metodo di convenienza copy(...) della classe di dati.

    È importante notare che questo approccio funziona solo quando le uniche mutazioni in quella classe sono state eseguite nello stesso ambito in cui viene creata l'istanza State. Se la classe si sta mutando internamente al di fuori dell'ambito di utilizzo e ci si affida all'osservazione di ciò, l'approccio successivo è quello che vorrà usare.

    data class Position(
     val x: Int,
     val y: Int
    )
    
    @Composable fun Example() {
     var p by state { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p = p.copy(x=it) }
       onYChange={ p = p.copy(y=it) }
     )
    }
    

    Alternativa 2: usa mutableStateOf e delegati della proprietà

    Questo approccio è semplificato grazie ai delegati delle proprietà di Kotlin e all'API mutableStateOf, che consente di creare istanze MutableState al di fuori della composizione. In sostanza, sostituisci tutte le proprietà var della classe originale con le proprietà var con mutableStateOf come delegato della proprietà. Ciò presenta il vantaggio che l'utilizzo della classe non cambierà affatto, ma solo la sua implementazione interna. Tuttavia, il comportamento non è completamente identico all'esempio originale, poiché ora ogni proprietà viene osservata/sottoscritta individualmente, quindi le ricomposizioni che vedi dopo questo refactoring potrebbero essere più limitate (una buona cosa).

    class Position(x: Int, y: Int) {
     var x by mutableStateOf(x)
     var y by mutableStateOf(y)
    }
    
    // source of Example is identical to original
    @Composable fun Example() {
     var p = remember { Position(0, 0) }
     PositionChanger(
       position=p,
       onXChange={ p.x = it }
       onYChange={ p.y = it }
     )
    }
    

    (I409e8, b/152050010, b/146362815, b/146342522, b/143413369, b/135715219, b/14316}315)

  • Callback onFocusChange nei campi di testo rinominati in onFocusChanged (Ida4a1)

  • Parametro di soglia aggiunto in stateTrascinabile per specificare le soglie tra gli ancoraggi. per impostare una soglia di 56 dp nel riquadro a scomparsa in basso. Anche BottomDrawerLayout ora utilizza un'enumerazione BottomDrawerState separata. (I533fa)

  • Rimuove Modifier.ripple precedentemente deprecato. Clickable ora utilizza l'eco come indicazione predefinita (se nella tua applicazione hai impostato un MaterialTheme {}), quindi nella maggior parte dei casi puoi semplicemente utilizzare l'elemento cliccabile e ottenere l'indicazione dell'eco senza costi. Se devi personalizzare il parametro colore / dimensione / delimitato per l'eco, puoi creare manualmente un indicatore RippleIndication e passarlo a cliccabile come parametro di indicazione. (I663b2, b/155375067)

  • Rimosso l'override deprecato del componibile FilledTextField (I7f8f8)

  • Rinomina l'oggetto Pulsante (contenente i valori predefiniti utilizzati dalla funzione Pulsante) in ButtonConstants (I7c5f7, b/159687878)

  • L'area dei contenuti del pulsante ora si comporta come una riga (utile quando hai bisogno di un'icona con un testo; vedi gli esempi su come scriverlo su Pulsante) (I0ff10, b/158677863).

  • RadioGroup e RadioGroupItem sono stati deprecati. Utilizza Box con Modifier.selectable, Row e Column per effettuare l'insieme corretto di opzioni di opzione in base al tuo design (I7f5cf, b/149528535)

  • È stato aggiunto il campo di testo contorno materiale (I1a518)

  • androidx.ui.foundation.TextFieldValue e L'API androidx.ui.input.EditorValue è deprecata. Campo di testo, Gli elementi componibili FilledTextField e CoreTextField che utilizzano anche questo tipo è deprecato. Utilizza androidx.ui.input.TextFieldValue (I4066d, b/155211005)

  • TabRow.TabPosition non contiene la posizione in Dp, non in IntPx (I34a07, b/158577776)

  • È stato sostituito l'utilizzo di IntPx con Int. IntPxPosition sostituita con IntOffset. IntPxSize sostituito con IntSize. (Ib7b44).

  • Per consolidare i numero di classi utilizzate per rappresentare sulle dimensioni, standardizza sull'utilizzo della classe Dimensioni, di PxSize. Questo offre i vantaggi di una classe in linea per sfruttare per pacchettizzare 2 valori in virgola mobile per rappresentare larghezza e altezza rappresentate da numeri in virgola mobile. (Ic0191)

  • Ritira Modifier.ripple. Clickable ora utilizza l'eco come indicazione predefinita (se nella tua applicazione hai impostato un MaterialTheme {}), quindi nella maggior parte dei casi puoi semplicemente utilizzare l'elemento cliccabile e ottenere l'indicazione dell'eco senza costi. Se devi personalizzare il parametro colore / dimensione / delimitato per l'eco, puoi creare manualmente un indicatore RippleIndication e passarlo a cliccabile come parametro di indicazione. (I101cd, b/155375067)

  • L'API Scaffold è stata rielaborata: alcuni parametri hanno cambiato nome e sono stati aggiunti nuovi parametri per una migliore personalizzazione. È stato aggiunto getter alle dimensioni delle query di Fab, TopBar e BottomBar (I0e7ce)

  • È stato aggiunto il componente Menu a discesa in ui-material, un'implementazione del menu Material Design. (I9bb3d)

  • Consenti di mostrare/nascondere manualmente la tastiera software utilizzando SoftwareKeyboardController (Ifb9d6, b/155427736)

  • Modifier.indication è stato aggiunto al pacchetto di base. Utilizzalo per mostrare indicazioni di pressione/trascinamento/altre indicazioni sugli elementi interattivi personalizzati (I8425f, b/155287131)

  • Implementazioni consolidate di CanvasScope Ora ci sono solo DrawScope e ContentDrawScope CanvasScope rinominato in DrawScope. DrawScope aggiornato per implementare la Densità all'interfaccia e fornisce LayoutDirection Sottoclasse DrawScope eliminata in ContentDrawScope Painter e PainterModifier sono stati aggiornati per non mantenere più una proprietà RTL poiché DrawScope fornisce già questa funzionalità, senza fornirlo manualmente (I1798e)

  • Rinomina Emphasis.emphasize() in Emphasis.applyEmphasis() (Iceebe)

  • I pulsanti disattivati ora seguono visivamente la specifica di Material Design (I47dcb, b/155076924)

  • FilledTextField ottiene il supporto per azioni ime, trasformazione visiva e tipo di tastiera (I1f9cf, b/155075201)

  • Aggiunge il parametro structLength a CircularProgressIndicator per personalizzare la dimensione del tratto. Per modificare la dimensione del tratto (altezza) di un LinearProgressIndicator, puoi utilizzare Modifier.preferredHeight() o un altro modificatore di dimensione. (Icea16, b/154919081)

  • Aggiunge il parametro structLength a CircularProgressIndicator per personalizzare la dimensione del tratto. Per modificare la dimensione del tratto (altezza) di un LinearProgressIndicator, puoi utilizzare Modifier.preferredHeight() o un altro modificatore di dimensione. (Icea16, b/154919081)

  • È stata aggiunta l'API slot per le icone finali e iniziali nel FilledTextField e per la gestione dello stato di errore (Ic12e0)

  • Il colore predefinito dei FAB e dei FAB estesi è stato modificato in MaterialTheme.colors.secondary. (I3b9b9, b/154118816)

  • Sostituiti tutti gli utilizzi dei colori null nell'API sostituiti con non null e utilizza Color.Unset anziché null (Iabaa7)

  • EdgeInsets è stato rinominato InnerPadding. Parametro innerPadding rinominato di Material Buttons in paddding. (I66165)

  • Il cursore ora è stateless. Gli utenti dovranno superare e aggiornare lo stato autonomamente, proprio come in qualsiasi altro controllo. (Ia00aa)

  • StaticDrawer è stato rimosso. Se necessario, utilizza Box con la larghezza specifica del materiale (I244a7)

  • È stata aggiunta l'implementazione di Material Design del campo di testo compilato (Ic75cd)

  • Parametro modificatore aggiunto a ListItem e parametri riordinati in promuovono il corpo lambda finale (I66e21)

  • Aggiunge il parametro costruttore defaultFontFamily a Typography, consentendo di specificare la famiglia di caratteri predefinita che verrà utilizzata per qualsiasi TextStyles fornito che non dispone di una famiglia impostata. (I89d07)

  • Sono state rimosse temporaneamente le tabelle di dati sui materiali dalla piattaforma API. (Aea61)

  • Parametri rinominati in Divisore componibile (Ic4373)

  • secondari (Ia6d19)

  • Rimuove MaterialTheme.emphasisLevels, anziché utilizzare EmphasisAmbient.current per recuperare i livelli di enfasi (Ib5e40).

  • Il sistema di tematizzazione delle forme viene aggiornato in base alle specifiche di Material Design. Ora puoi fornire forme piccole, medie e grandi utilizzate dalla maggior parte dei componenti (Ifb4d1)

  • Le API MaterialTheme, ad esempio MaterialTheme.colors() e MaterialTheme.typography(), sono state modificate in proprietà anziché funzioni. Rimuovi le parentesi dalle chiamate esistenti; non è previsto alcun cambiamento di comportamento. (I3565a)

  • Refactoring delle API FloatingActionButton per accettare gli elementi componibili lambda anziché le primitive. Visualizza esempi aggiornati per l'utilizzo informazioni. (I00622)

  • aggiungi il parametro enabled a casella di controllo, opzione e attivabile (I41c16)

  • Ripple è ora un Modificatore. Sebbene Clickable non sia ancora stato convertito, l'utilizzo consigliato è Clickable(onClick = { ... }, modifier = ripple()) (Ie5200, b/151331852, b/150060763)

  • Surface e Card sono stati spostati da androidx.ui.material.surface ad androidx.ui.material (I88a6d, b/150863888)

  • I pulsanti, FloatingActionButton e Clickable ora hanno un parametro enabled separato. Alcuni parametri su Pulsante sono stati rinominati o riordinati. (I54b5a).

  • Immagine rinominata in ImageAsset per distinguere meglio la differenza tra i dati immagine e l'imminente componibile delle immagini utilizzato per partecipare al layout e disegnare contenuti. _Body:Metodo di estensione creato su android.graphics.Bitmap, Bitmap.asImageAsset(), per creare un'istanza di un ImageAsset utile per combinare le applicazioni Android lo sviluppo di applicazioni con il framework di composizione (Id5bbd)

  • Rimozione dell'API Snackbar con i parametri String in favore dell'utilizzo il sovraccarico che accetta lambda componibili. Visualizza esempi aggiornati per informazioni sull'utilizzo (I55f80)

  • Eseguite il refactoring delle API Tab per accettare lambda text e icon (Ia057e)

  • È stato aggiunto il componente BottomNavigator; consulta la documentazione e gli esempi per informazioni sull'utilizzo (I731a0)

  • Sono stati aggiunti Icon, IconButton e IconToggleButton, rimuovendo AppBarIcon. Puoi sostituire direttamente gli utilizzi esistenti di AppBarIcon con IconButton, e ora avranno il touch target corretto. Visualizza gli esempi per informazioni sull'utilizzo e consulta le icone per le icone del materiale fornite che puoi usare direttamente con questi componenti. (I96849)

  • Sostituito ButtonStyle con funzioni distinte e rimosso l'overload di testo (stringa). Visualizza esempi aggiornati per le informazioni sull'utilizzo. (If63ab, b/146478620, b/146482131)

  • rinomina il modificatore Border in DrawBorder (I8ffcc)

  • LayoutCoordinates non ha più una proprietà di posizione. La position non ha senso quando si considerano LayoutModifiers, la rotazione o la scalabilità. Gli sviluppatori dovrebbero usare parentCoordinate e figlioToLocal() per calcolare la trasformazione da uno LayoutCoordinate a un altro.

    LayoutCoordinates utilizza IntPxSize per la proprietà delle dimensioni anziché Dimensioni Px. I layout utilizzano dimensioni in pixel intere per i layout, pertanto tutte le dimensioni dei layout devono utilizzare numeri interi e non valori con rappresentazione in virgola mobile. (I9367b)

  • Interruzione delle modifiche all'API Ambient. Per informazioni dettagliate, consulta la documentazione relativa al log e a Ambient<T> (I4c7ee, b/143769776)

  • Il componente del materiale impalcato è stato aggiunto. Attrezzi Scaffold (I7731b)

  • Sostituito DrawBorder a favore del Modificatore bordo (Id335a)

Correzioni di bug

  • FocusModifier è stato ritirato a favore di Modifier.focus, Modifier.focusRequester e Modifier.focusObserver. FocusState e FocusDetailsState sono stati deprecati a favore di FocusState2 (I46919, b/160822875, b/160922136)
  • Verticalscroller e Horiziontalscroller sono stati deprecati. Utilizza ScorribileColonna e ScorribileRiga per creare un'esperienza integrata con il comportamento e i parametri Colonna/Riga oppure Modifier.verticalscroll e Modifier.Horizontalscroll per il tuo elemento. Allo stesso modo, scrollerPosition è stato ritirato a favore di scrollState'. (I400ce, b/157225838, b/149460415, b/154105299)
  • Le API Modifier.draggable e Modifier.scrollable sono state rielaborate. DragDirection è stato rimosso a favore dell'orientamento. Lo stato richiesto per lo scorrimento è stato semplificato. ScorriableState è stato rinominato ScorribileController (Iab63c, b/149460415)
  • runOnIdleCompose rinominato in runOnIdle (I83607)
  • Le proprietà semantiche di un singolo valore ora utilizzano uno stile di chiamata. Ad esempio, "semantics {hidden = true }". è ora scritta come segue: "semantics {Hidden() }". (Ic1afd, b/145951226, b/145955412)
  • Diverse API di test sono state rinominate per essere più intuitive. Tutti Le API di FindXYZ sono state rinominate onNodeXYZ. Tutte le API doXYZ sono state rinominate in esegui XYZ. (I7f164)
  • L'API Transizione è stata modificata per restituire un TransizioneState anziché passare lo stato Transizione. per i bambini. Questo rende l'API più coerente API animate(). (I24e38).
  • È stata aggiunta una classe unità IntBounds che rappresenta i limiti di pixel interi del layout. L'API di PopupPositionProvider è stata aggiornata in modo da utilizzarla. (I0d8d0, b/159596546)
  • È stato aggiunto un nuovo flag facoltativo useUnmergedTree ai rilevatori di test. (I2ce48)
  • Sono state rimosse le API di test delle dimensioni obsolete. (Iba0a0)
  • È stata rimossa la classe in linea di Shader che ha inserito la classe Aspettative di NativeShader NativeShader è stato rinominato Shader. La classe in linea con wrapping di Shader ha fatto non aggiungere nulla di importante alla piattaforma API ed era una classe in linea, quindi usa NativeShader direttamente nel corso. (I25e4d).
  • Popup, finestre di dialogo e menu ora ereditano il MaterialTheme contestuale (Ia3665, b/156527485)
  • Ora il menu a discesa Materiale è scorrevole. (Ide699)
  • Rimosso il parametro di direzione del layout dal blocco di misura della funzione Layout(). La direzione del layout è tuttavia disponibile all'interno del callback tramite l'oggetto ambito misurazione (Ic7d9d)
  • Usa AnimationSpec anziché AnimationBuilder nelle API di primo livello per chiarire il concetto di specifica dell'animazione statica. - Miglioramento della transizione DSL rimuovendo il requisito lambda per creando AnimationSpecs come tween, spring. Prendono e i parametri del costruttore. - Facilità generale d'uso dell'apertura di AnimationSpec anziché fare affidamento sui builder -Modifica la durata e il ritardo dei fotogrammi chiave e Questo elimina i cast di tipi non necessari e il sovraccarico dei metodi (ad che supportano sia Long che Int). (Ica0b4)
  • L'opzione ora appare in stato disattivato quando il criterio enabled è impostato su false (If4624, b/155941869, b/159331694)
  • Modifier.tag è stato rinominato in Modifier.layoutId per evitare confusione con Modifier.testTag. (I995f0)
  • Le posizioni di interazione della linea di allineamento restituite da Placeable#get(AllineamentLine) sono ora diverse da null. Se manca la linea di allineamento sottoposta a query, verrà restituitocato RedirectLine.Unspecified. (I896c5, b/158134875)
  • Refactoring della classe Raggio inline. Creazione companion rimossa metodi a favore del costruttore della funzione con il parametro predefinito per avere il raggio lungo l'asse y corrisponde a quella del campo obbligatorio raggio dell'asse x.

    DrawScope.drawRoundRect aggiornato per l'utilizzo un singolo parametro Raggio anziché due parametri distinti valori in virgola mobile per il raggio lungo x e y (I46d1b)

  • Per consolidare i numero di classi utilizzate per rappresentare le informazioni di posizionamento, standardizzare sull'uso della classe Offset di PxPosition. Questo offre i vantaggi di una classe in linea per sfruttare per raggruppare 2 valori in virgola mobile che rappresentano x e gli offset y rappresentati come numeri in virgola mobile. (I3ad98)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel. Classe Px eliminata nella sua interezza (I3ff33)

  • Il componente attivabile/disattivabile è stato deprecato. Usa Modifier.toggleable (I35220, b/157642842)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel (I086f4)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel (Id3434)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel (I97a5a)

  • È stato corretto il problema di richiamata per DropdonMenuItems. (I3998b, b/157673259)

  • MutuallyUniqueSetItem è stato deprecato. Usa invece Modifier.selectable. (I02b47, b/157642842)

  • TestTag è ora deprecato. Utilizza invece Modifier.testTag. (If5110, b/157173105)

  • Il cursore di TextField ha un'animazione lampeggiante (Id10a7)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel (I19d02)

  • Verticalscroller ora fornisce Colonna pronta all'uso. Horizontalscroller ora fornisce Row pronta all'uso. (Ieca5d, b/157020670)

  • Utilizzo della classe Px sostituito in varie comporre classi nell'ambito della grande di refactoring facendo affidamento solo sul Dp e tipi primitivi per i parametri dei pixel (Iede0b)

  • Modifier.semantics non è più deprecata per consentire l'utilizzo di componenti di alto livello. (I4cfdc)

  • L'API dei modificatori DrawLivello è stata modificata: outlineShape è stato rinominato forma e ha il valore predefinito rettangoloForma e ora non è possibile impostare valori null; clipToOutline rinominato in clip; clipToBounds rimosso perché è uguale a clip == true con rettangoloShape (I7ef11, b/155075735)

  • Aggiornato a un livello superiore che espongono un elemento Canvas esponi CanvasScope. Questa operazione rimuove la necessità da parte dei consumatori di mantenere oggetti Paint. Per i consumatori che richiedono comunque l'accesso a Canvas è possibile usare l'estensione drawCanvas che fornisce un callback al problema di tracciare i comandi con Tela. (I80afd)

  • L'elemento componibileAllineaLineOffset è deprecato. Utilizza il modificatore relativePaddingFrom(). CenterAllineamentLine componibile è stato rimosso. (I60107)

  • L'API lambda finale WithConstraints è stata modificata. Ora, invece di due parametri, ha un ambito ricevitore che, oltre ai vincoli e layoutDirection fornisce le proprietà minLarghezza, maxwidth, minHeight e maxHeight in Dp (I91b9a, b/149979702)

  • Aggiunto il modificatore di layout defaultMinSizeConstraints, che imposta i vincoli di dimensione sul layout con wrapping solo quando i vincoli corrispondenti in entrata non sono specificati (0 per i vincoli minimi e infinito per i vincoli massimi). (I311ea, b/150460257)

  • FocusManagerAmbient viene rimosso. Utilizza FocusModifier.requestFocus per ottenere la messa a fuoco. (Ic4826)

  • È stata creata l'API CanvasScope che aggrega un Canvas per esporre un oggetto superficie dell'API di disegno. Le trasformazioni sono contenute nell'ambito del ricevente e sulle informazioni sulle dimensioni abbia come ambito anche i corrispondenti limiti inseriti. Non richiede che il consumatore mantenga il proprio stato Verniciatura per configurare le operazioni di disegno.

    È stato aggiunto CanvasScopeSample e ha aggiornato l'app demo per includere una grafica dichiarativa demo (Ifd86d)

  • Aggiungi la personalizzazione del colore del cursore al campo di testo (I6e33f)

  • Il valore TextFieldValue utilizzato con TextField ora può sopravvivere ricreazione attività quando viene utilizzato in questo modo: var text by savedInstanceState(saver = TextFieldValue.Saver) { TextFieldValue() } (I5c3ce, b/155075724)

  • LayoutModifier2 rinominato in LayoutModifier. (ID29f3)

  • Rimossa l'interfaccia LayoutModifier deprecata. (I2a9d6).

  • FocusIdentifier di CoreTextField/TextField sostituiti con FocusNode per l'integrazione con il sottosistema Focus. (I7ea48)

  • Le funzioni di misurazione intrinseca in Layout e LayoutModifier2 dispongono ora di un ricevitore Intrinsic MeasureScope che fornisce l'API di query intrinseca con direzione di layout propagata implicitamente. (ID9945)

  • Viene aggiunto il nuovo Modifier.zIndex() per controllare l'ordine di disegno degli elementi secondari all'interno dello stesso layout principale. e non controlla più l'ordine del disegno. L'ordine dei parametri di DrawShadow è modificato: l'elevazione è ora la prima e la forma è la seconda con un valore predefinito rettangoloForma. (I20150, b/152417501)

  • Rettangolo spostato da androidx.ui.foundation.shape.* ad androidx.ui.graphics.* (Ia74d5, b/154507984)

  • Aggiornamento dell'API TextField: riuniti i callback onFocus e onBlur in un singolo callback onFocusChange(Boolean) con parametro (I66cd3)

  • Sono stati aggiunti i parametri verticalGravity e HorizontalGravity a Row e Column. (I7dc5a)

  • I valori wrapContentwidth e wrapContentHeight sono stati aggiornati per prevedere un allineamento verticale o orizzontale anziché un allineamento. Il modificatore di gravità è stato aggiornato per accettare l'allineamento verticale o orizzontale. Riga, colonna e stack sono stati aggiornati per supportare gli allineamenti continui personalizzati. (Ib0728)

  • API PixelMap creata per l'assistenza interrogando le informazioni sui pixel da un ImageAsset. (I69ad6)

  • Rimuove ProvideContentColor, invece è sufficiente utilizzare ContentColorAmbient direttamente con Providers (Iee942)

  • Il modulo ui-text-compose è rinominato ui-text. testo dell'interfaccia utente ora contiene i componibili CoreText e CoreTextField (Ib7d47)

  • Il modulo ui-text è stato rinominato ui-text-core (I57dec)

  • ui-framework/CoreText, elementi componibili CoreTextField spostati in "ui-text-compose". Potresti voler includere ui-text-compose nel progetto. (I32042)

  • Migliora l'API DrawModifier:

    • Ambito del ricevitore per draw() ContentDrawScope
    • Sono stati rimossi tutti i parametri in draw()
    • DrawScope ha la stessa interfaccia del precedente CanvasScope
    • ContentDrawScope ha il metodo drawContent() (Ibaced, b/152919067)
  • runOnIdleCompose e runOnUiThread sono ora funzioni globali invece dei metodi su ComposeTestRule. (Icbe8f)

  • [Mutable]Operatori dei delegati delle proprietà statali spostati nelle estensioni per supportare le ottimizzazioni dei delegati per le proprietà Kotlin 1.4. I chiamanti devono aggiungere importazioni per continuare a utilizzare by state { ... } o by mutableStateOf(...). (I5312c)

  • Sono stati aggiunti positionInParent e boundsInParent per LayoutCoordinates. (Icacdd, b/152735784)

  • ColoredRect è stato ritirato. Usa invece Box(Modifier.preferredSize(width, altezza).drawBackground(color)). (I499fa, b/152753731)

  • Il valore LayoutResult è stato rinominato in MeasureResult. (ID8c68)

  • È stata aggiunta LayoutModifier2, una nuova API per la definizione dei modificatori di layout. LayoutModifier (If32ac) ritirato

  • Sostituito Modificatore più operatore con funzioni di estensione di fabbrica (I225e4)

  • L'elemento trascinabile è stato spostato nel modificatore (Id9b16, b/151959544)

  • L'API ParentData componibile è deprecata. Devi creare un modificatore che implementi l'interfaccia ParentDataModifier oppure usare il modificatore LayoutTag se hai semplicemente bisogno di taggare elementi secondari di layout per riconoscerli all'interno del blocco di misurazione. (I51368, b/150953183)

  • Elemento componibile del Centro deprecato. Deve essere sostituito con il modificatore LayoutSize.Fill + LayoutAllinea.Center oppure con uno dei componibili Box o Stack con i modificatori adatti applicati (Idf5e0).

  • È stata aggiunta l'API VectorPainter a sostituire l'API di sottocomposizione esistente per grafica vettoriale. Risultato della sottocomposizione è un oggetto VectorPainter invece che DrawModifier. DrawVector precedente ritirato componibili a favore di VectorPainter.

    API Image(Painter) rinominata in PaintBox(Painter) È stato creato un vettore componibile che si comporta come Immagine componibile, tranne che con un VectorAsset di un ImageAsset (I9af9a, b/149030271)

  • Il nome LayoutFlessibile è stato rinominato in LayoutWeight. Parametro stretto rinominato da riempire. (If4738)

  • Rimosso RepaintBoundary a favore di DrawlayerModifier (I00aa4)

  • DrawVector è stato modificato da una funzione componibile per restituire un Modifier drawVector() che il vettore come sfondo di un layout. (I7b8e0)

  • La funzione componibile opacità è stata sostituita con il tasto di modifica drawOpacity. (I5fb62)

  • Sostituisci la funzione componibile Clip con il modificatore drawClip(). DrawClipToBounds è un pratico modificatore da usare quando devi ritagliare solo i limiti dei livelli con una forma rettangolare. (If28eb)

  • Funzione componibile DrawShadow() sostituita con drawShadow() modificatore. Le ombre sono ora disegnate come parte di LayerModifier. (I0317a)

  • È stato aggiunto LayerModifier, un modificatore che consente aggiungendo un RenderNode per un layout. Consente di impostare ritaglio, opacità, rotazione, ridimensionamento e ombre. Questo sostituirà RepaintBoundary. (I7100d, b/150774014)

  • L'elemento androidx.compose.ViewComposer è stato spostato in androidx.ui.node.UiComposer Il file androidx.compose.Emittable è stato rimosso. Era ridondante con ComponentNode. Il comando androidx.compose.ViewAdapters è stato rimosso. Non sono più un caso d'uso supportato. L'API Compose.composeInto è stata ritirata. Usa invece setContent o setViewContent. L'API Compose.disposeCompose è stata deprecata. Utilizza invece il metodo dispose nella colonna Composition restituita da setContent. Il file androidx.compose.Compose.subcomposeInto è stato spostato in androidx.ui.core.subcomposeInto ComponentNode#emitInsertAt è stato rinominato in ComponentNode#insertAt ComponentNode#emitRemoveAt è stato rinominato in ComponentNode#removeAt ComponentNode#emitMode è stato rinominato in ComponentNode#move (Idef00)

  • Immagine creata componibile per gestire dimensioni/layout oltre a disegnare un dato ImageAsset sullo schermo. Questo componibile supporta anche il disegno di qualsiasi dell'istanza rispettando le sue dimensioni intrinseche e a supportare una determinata dimensione o dimensione minima (Ibcc8f)

  • Wrap componibile obsoleto. Può essere sostituito con il modificatore LayoutAllinea o con l'elemento componibile Stack (Ib237f)

  • WithConstraints ha ottenuto il parametro LayoutDirection (I6d6f7)

  • È stata eseguita la propagazione della direzione del layout dal nodo di layout principale ai nodi secondari. Aggiunto il modificatore di direzione del layout. (I3d955)

  • Il componente Stack supporta la direzione da destra a sinistra (Ic9e00)

  • Il componibile DrawShape è stato rimosso. Usa il modificatore DrawBackground. (I7ceb2)

  • Supporto della direzione da destra a sinistra nel modificatore di LayoutPadding (I9e8da)

  • È stato aggiunto AdapterList, un componente per elenchi a scorrimento che consente compone e dispone gli elementi visibili. Problemi attualmente noti includono che è solo verticale e non gestisce completamente tutti di cambiamenti agli elementi secondari. (Ib351b)

  • Il flag ComposeFlags.COMPOSER_PARAM è stato aggiornato in true e cambierà la strategia di generazione del codice per il plug-in di scrittura. A livello generale, questo fa sì che le funzioni @Composable vengano generate con un parametro sintetico aggiuntivo, che viene passato alle chiamate @Composable successive per consentire al runtime di gestire correttamente l'esecuzione. Si tratta di una modifica significativa che provoca un'interruzione del programma binario, tuttavia, dovrebbe preservare la compatibilità a livello di origine in tutti gli utilizzi autorizzati di scrittura. (I7971c)

  • Componente Canvas aggiunto. Questo componibile occupa alcune dimensioni (fornite dall'utente) e consente di disegnare utilizzando CanvasScope (I0d622)

  • Density e DensityScope sono stati uniti in un'unica interfaccia. Al posto di ambientDensity() ora puoi usare DensityAmbient.current. Invece di withDensity(density) solo with(density) (I11cb1)

  • LayoutCoordinates modificato per rendere providedAllineamentLines un set invece di una mappa e fare in modo che LayoutCoordinate implementi l'operatore get() per recuperare un valore. In questo modo, diventa più facile per i modificatori per modificare uno o più valori dell'insieme senza creando una nuova raccolta per ogni modificatore. (I0245a)

  • Gli strumenti di scorrimento ora mostrano un comportamento fling nativo di Android. (I922af, b/147493715)

  • Miglioramenti alla superficie API dei vincoli (I0fd15)