Wear Compose

  
Scrivi applicazioni Jetpack Compose per dispositivi indossabili, fornendo funzionalità che supportano dispositivi indossabili, dimensioni, forme e gesti di navigazione specifici".
Aggiornamento più recente Release stabile Candidato per la release Versione beta Release alpha
20 marzo 2024 1.3.0 - - 1.4.0-alpha05

Dichiarazione delle dipendenze

Per aggiungere una dipendenza su Wear, devi aggiungere il Repository Maven di Google al tuo progetto. Per ulteriori informazioni, consulta il Repository Maven di Google.

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

Trendy

dependencies {
    implementation "androidx.wear.compose:compose-foundation:1.3.0"

    // For Wear Material Design UX guidelines and specifications
    implementation "androidx.wear.compose:compose-material:1.3.0"

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation "androidx.wear.compose:compose-navigation:1.3.0"

    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.0")
    
    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Kotlin

dependencies {
    implementation("androidx.wear.compose:compose-foundation:1.3.0")

    // For Wear Material Design UX guidelines and specifications
    implementation("androidx.wear.compose:compose-material:1.3.0")

    // For integration between Wear Compose and Androidx Navigation libraries
    implementation("androidx.wear.compose:compose-navigation:1.3.0")
    
    // For Wear preview annotations
    implementation("androidx.wear.compose:compose-ui-tooling:1.3.0")

    // NOTE: DO NOT INCLUDE a dependency on androidx.compose.material:material.
    // androidx.wear.compose:compose-material is designed as a replacement
    // not an addition to androidx.compose.material:material.
    // If there are features from that you feel are missing from
    // androidx.wear.compose:compose-material please raise a bug to let us know.
}

Per ulteriori informazioni sulle dipendenze, vedi Aggiungere dipendenze build.

Feedback

Il tuo feedback ci aiuta a migliorare Jetpack. Facci sapere se rilevi nuovi problemi o hai idee per migliorare la libreria. Dai un'occhiata ai problemi esistenti in questa libreria prima di crearne una nuova. Puoi aggiungere il tuo voto a un problema esistente facendo clic sul pulsante a forma di stella.

Crea un nuovo problema

Per ulteriori informazioni, consulta la documentazione di Issue Tracker.

Wear Compose Material3 versione 1.0

Versione 1.0.0-alpha19

6 marzo 2024

androidx.wear.compose:compose-material3:1.0.0-alpha19 viene rilasciato. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto TimeText alla raccolta Material3 di Wear Compose. Questo componente mostra l'ora corrente (e lo stato aggiuntivo) nella parte superiore dello schermo. La nuova e concisa API Material3 evita la duplicazione tra contenuti lineari e curvi. (I4d7c3).
  • Abbiamo aggiornato i nomi dei parametri da onSelected a onSelect per RadioButton. (I1a971)
  • Tokenizza RadioButton e SplitRadioButton ed esegui anche un refactoring dei metodi esistenti per ridurre la quantità di ricerca di CompositionLocal aggiungendo istanze di colori memorizzate nella cache e rendendo i metodi di RadioButtonColors e SplitRadioButtonColors interni. (I02b33).

Versione 1.0.0-alpha18

21 febbraio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha18 viene rilasciato. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche alle API

  • Abbiamo modificato il pattern predefinito per CardColors, ToggleButtonColors e SplitToggleButtonColors creando istanze memorizzate nella cache internamente e riducendo l'utilizzo di CompositionLocal. (If3fec).

Versione 1.0.0-alpha17

7 febbraio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha17 viene rilasciato. La versione 1.0.0-alpha17 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato l'API Button in modo da utilizzare buttonColors per impostazione predefinita e abbiamo rimosso il file filledButtonColors duplicato. (I4fe3b).
  • Abbiamo eseguito il refactoring dei pattern predefiniti per ButtonColors, IconButtonColors e TextButtonColors creando un'istanza memorizzata nella cache internamente e riducendo l'utilizzo di CompositionLocal. (I5f51c).
  • Abbiamo rimosso l'overhead di rememberUpdatedState nelle classi di colore specifiche dei componenti e contrassegnato come interni i metodi della funzione di accesso nelle classi dei colori. (If6571)

Correzioni di bug

  • Abbiamo aggiornato Modifier.minimumInteractiveComponentSize in modo da utilizzare Modifier.node. (Iba6b7).

Versione 1.0.0-alpha16

24 gennaio 2024

androidx.wear.compose:compose-material3:1.0.0-alpha16 viene rilasciato. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto CompactButton, che possono utilizzare gli stessi colori riempiti, riempiti e con contorni del pulsante.(I05df0)

Modifiche alle API

  • Abbiamo aggiunto RadioButton/SplitRadioButton come contenitori per i controlli di selezione, ad esempio l'opzione Radiocomando. Questo differisce dal ToggleButton esistente perché RadioButton è selezionabile (e opera all'interno di un gruppo di selezione), mentre ToggleButton è attivabile (ed è indipendente). (I61275)
  • Stiamo rimuovendo LocalContentAlpha dalla raccolta Wear Material3 per coerenza con la raccolta Compose Material3. (I49a0a).
  • I componenti Materiale di Wear e materiali di usura che espongono un MutableInteractionSource nell'API sono stati aggiornati in modo da ora esporre un MutableInteractionSource con valore nullo che, per impostazione predefinita, è null. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruire MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non stai utilizzando il MutableInteractionSource passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (Ib90fc, b/298048146).
  • Aggiunge una nuova API Ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce la versione deprecata rememberRipple. Viene inoltre aggiunto un valore CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare i componenti Material in modo che utilizzino le API rememberRipple/RippleTheme deprecate. Verrà rimosso nella prossima release stabile ed è destinato a essere un ausilio temporaneo alla migrazione solo nei casi in cui fornisci un RippleTheme personalizzato. Visita la pagina developer.android.com per avere informazioni sulla migrazione e ulteriori informazioni di base su questa modifica. (af92b21).
  • Abbiamo apportato piccoli miglioramenti all'API HorizontalPageIndicator e alla relativa documentazione. (I60efc).
  • Abbiamo aggiornato ColorScheme in modo che sia immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori e rendendo più efficiente l'uso dei colori più comune. Il ragionamento alla base di questa modifica è che la maggior parte delle app non prevede l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomporrà più di prima, a sua volta diminuiremo in modo significativo la quantità di abbonamenti statali attraverso tutto il codice materiale e influirà sui costi di inizializzazione e runtime di casi d'uso più standard. (Ibc2d6).
  • Sono state aggiornate le API ToggleButton e SplitToggleButton per consentire la personalizzazione dei colori disattivati. Inoltre, i token di Material Design ora vengono utilizzati per i valori di colore e tipografia. (If087c)
  • Sono stati aggiornati i colori di sfondo dell'immagine del pulsante per utilizzare i token Material Design. (Iba215).
  • Abbiamo modificato i componenti Checkbox, Switch e RadioButton rendendoli di sola visualizzazione, rimuovendo la gestione dei clic. Questi componenti dovrebbero essere utilizzati in (Split)ToggleButton, che gestisce il clic, quindi ora sono indicati più chiaramente come solo display (e non sono destinati all'uso autonomo su Wear). (I2322e).

Correzioni di bug

  • Abbiamo aggiunto token per i valori di movimento di durate e interpolazioni in Wear Compose Material 3. (I437cd)
  • Abbiamo corretto un bug in ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton affinché gli annunci relativi all'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati). (Ica281).
  • Abbiamo rimosso il livello materialcore per CompactButton per migliorare le prestazioni. (7902858)

Versione 1.0.0-alpha15

15 novembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha15 viene rilasciato. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato il livello di base SwipeToDismissBox in BasicSwipeToDismissBox. In questo modo viene più chiara la distinzione tra il componente di livello Base e il livello SwipeToDismissBox di Material3. Quest'ultimo estrae i colori da MaterialTheme da utilizzare nelle scrims e delega l'implementazione rimanente a BasicSwipeToDismissBox. (Ibecfc)

Correzioni di bug

  • Abbiamo rimosso lo strato material-core per il pulsante Material3 per migliorare le prestazioni. (I55555)

Versione 1.0.0-alpha14

18 ottobre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha14 viene rilasciato. La versione 1.0.0-alpha14 contiene questi commit.

Modifiche alle API

  • Abbiamo rimosso il parametro indicatorStyle dall'elemento HorizontalPageIndicator di Material3, che seguirà la forma dello schermo del dispositivo (lineare o rotondo). (I83728)
  • Abbiamo separato i colori di SplitToggleButton da quelli di ToggleButton aggiungendo una nuova classe SplitToggleButtonColors. (I78bee)

Versione 1.0.0-alpha13

4 ottobre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha13 viene rilasciato. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto un campo Sottotitoli facoltativo a TitleCard. (Ifc45a).
  • Abbiamo aggiunto token colore Material Design per TextButton. (I769dc)

Versione 1.0.0-alpha12

20 settembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha12 viene rilasciato. La versione 1.0.0-alpha12 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato IconButton per l'utilizzo dei token di Material Design. (I3f137)
  • Abbiamo aggiornato IconToggleButton per l'utilizzo dei token di Material Design. (I7d263).
  • Abbiamo reso pubblici i costruttori di CheckboxColors, RadioButtonColors e SwitchColors. (I82b73)

Versione 1.0.0-alpha11

6 settembre 2023

androidx.wear.compose:compose-material3:1.0.0-alpha11 viene rilasciato. La versione 1.0.0-alpha11 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato la tipografia delle schede Material3 a TitleMedium. (I597bd)
  • Abbiamo aggiornato la tipografia e l'allineamento per Material3 ListHeader e ListSubheader. (Ib5ceb)

Versione 1.0.0-alpha10

23 agosto 2023

androidx.wear.compose:compose-material3:1.0.0-alpha10 viene rilasciato. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Aggiungi HorizontalPageIndicator alla raccolta Wear Material3. (Ifee99)

Modifiche alle API

  • Aggiorna il codice di Buttons per utilizzare i token di design Material3. (I92fe4).
  • Dichiarazione delle API Stepper e Slider di Wear Material 3 come sperimentali poiché i dettagli dell'interfaccia utente sono ancora in fase di finalizzazione. (I84d54).
  • Abbiamo rimosso le taglie ExtraSmall dai tondi TextButton e TextToggleButton, poiché questa taglia si applica solo al IconButton. (Ibc7d5).

Correzioni di bug

  • Abbiamo aggiornato le linee guida sulla tipografia di TextToggleButton per l'utilizzo di LabelLarge per LargeButtonSize (Ib10fa)
  • Abbiamo aggiornato le linee guida sulla tipografia di TextButton per l'utilizzo di LabelLarge per LargeButtonSize (I8f3a7)
  • Per l'accessibilità, abbiamo impostato il touch target minimo della scheda su 48 dp. (Ieb9b1).
  • Aggiungi AppCard con demo immagine, rimozione di AppCard con demo in background (Id735f)
  • È stato corretto un bug nei pulsanti rotondi per cui i modificatori non erano concatenati correttamente. (I5e162).

Versione 1.0.0-alpha09

9 agosto 2023

androidx.wear.compose:compose-material3:1.0.0-alpha09 viene rilasciato. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto ToggleButton per material3 (I6bed6)

Modifiche alle API

  • Abbiamo attivato l'annotazione FloatRange come vincoli API , che erano indicati in precedenza nei commenti. (Icb401)
  • Abbiamo aggiornato la tipografia di Wear Material3 in modo che rispetti le ultime linee guida di Material3. (I1bad6)

Correzioni di bug

  • Abbiamo aggiornato i colori di Button, IconButton e TextButton in linea con il design di Material3. (Ib2495)
  • Abbiamo corretto la visibilità dei segni di spunta negli stati disattivati. (Ib25bf)

Versione 1.0.0-alpha08

26 luglio 2023

androidx.wear.compose:compose-material3:1.0.0-alpha08 viene rilasciato. La versione 1.0.0-alpha08 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto i seguenti controlli di selezione per Material3: Switch, Checkbox, RadioButton. (Ib918c)
  • Abbiamo aggiunto IconToggleButton e TextToggleButton a Material3, un pulsante di attivazione/disattivazione circolare con un'unica fessura per l'icona e il testo rispettivamente. Per le diverse dimensioni di ToggleButton, consigliamo di utilizzare Modifier.touchTargetAwareSize con le dimensioni fornite nei rispettivi pulsanti di attivazione/disattivazione. (I9f015).
  • Abbiamo aggiunto ListHeader e ListSubheader ai nostri componenti Material3. (Ibaefe)
  • Abbiamo aggiunto Material3 SwipeToDismissBox, che chiama il nuovo Foundation SwipeToDismissBox e fornisce i valori di colore predefiniti del relativo tema. (I275fb).
  • Abbiamo aggiunto Material3 InlineSlider a Wear Compose. Consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. InlineSlider è ideale per regolare impostazioni come volume o luminosità. (I7085f)

Modifiche alle API

  • Abbiamo aggiornato il tema Forme in Wear Material 3 in modo da utilizzare il tema RoundedCornerShape anziché Forma. (Idb133)
  • Abbiamo reso pubbliche le costanti di altezza per Button (Idbfde)
  • File API aggiornati per annotare la soppressione della compatibilità (I8e87a, b/287516207)
  • Abbiamo aggiornato InlineSliderColors in Wear Compose Material 3 per offrire un costruttore pubblico e proprietà pubbliche. (I6b632)
  • Abbiamo aggiornato tutte le classi di colore in Wear Compose Material 3 in modo da includere costruttori pubblici e proprietà pubbliche. (I17702)
  • Abbiamo reso pubbliche le caselle orizzontali e verticali per il pulsante. (Ieeaf7).

Correzioni di bug

  • Ora il pulsante regola l'altezza in base ai contenuti in crescita a causa dei caratteri di grandi dimensioni per l'accessibilità, quando richiesto (Iaf302)
  • Abbiamo aggiornato una serie di demo dei pulsanti per risolvere i problemi di accessibilità. (I61ce9)
  • Stepper e InlineSlider ora supportano i clic ripetuti con pressione prolungata in modo da poter aumentare/diminuire rapidamente il valore di Stepper e InlineSlider tenendo premuti i pulsanti + o - (I27359)

Versione 1.0.0-alpha07

21 giu 2023

androidx.wear.compose:compose-material3:1.0.0-alpha07 viene rilasciato. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il componente Stepper alla nostra raccolta Material 3 di Compose per Wear OS. È simile alla precedente versione di Material, ma omette la semantica dell'intervallo per impostazione predefinita, in base al feedback degli sviluppatori. Forniamo in Modifier.rangeSemantics i casi in cui la semantica dell'intervallo è obbligatoria. (Ic39fd)
  • Abbiamo aggiunto curvedText alla nostra raccolta di Material 3 per Compose per Wear OS. (Ia8ae3).

Correzioni di bug

  • Abbiamo aggiornato wear.compose.foundation in modo che sia una dipendenza API di wear.compose.material3 (I72004, b/285404743)

Versione 1.0.0-alpha06

7 giugno 2023

androidx.wear.compose:compose-material3:1.0.0-alpha06 viene rilasciato. La versione 1.0.0-alpha06 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato TextButton in modo che venga utilizzata la funzione di estensione toDisabledColor per correggere i valori alfa disattivati. (I814c8)

Versione 1.0.0-alpha05

24 maggio 2023

androidx.wear.compose:compose-material3:1.0.0-alpha05 viene rilasciato. La versione 1.0.0-alpha05 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto TextButton a Material3, un pulsante circolare con un'unica fessura per il testo. Per le diverse dimensioni di TextButton, ti consigliamo di utilizzare Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon forniti in TextButtonDefaults. L'impostazione predefinita TextButton non ha bordo e uno sfondo trasparente per le azioni di enfasi ridotta. Per le azioni che richiedono un'enfasi elevata, usa filledTextButtonColors; per un'enfasi media, con il contorno TextButton, imposta il bordo su ButtonDefaults.outlinedButtonBorder; per un terreno di mezzo tra contorni e pieni, usa filledTonalTextButtonColors. (I667e4).
  • Abbiamo aggiunto Card, OutlinedCard, AppCard e TitleCard alla raccolta di Material3 di Wear Compose. È possibile vedere a AppCard e TitleCard anche l'aspetto delineato utilizzando CardDefaults.outlinedCardColors e CardDefaults.outlinedCardBorder(I80e72)

Modifiche alle API

  • Abbiamo spostato il parametro etichetta Pulsante alla fine per supportare la sintassi lambda finale e abbiamo rimosso il parametro del ruolo (poiché può essere sostituito utilizzando Modifier.semantics). I costruttori ButtonColors ora sono pubblici. (Ie1b6d).

Versione 1.0.0-alpha04

10 maggio 2023

androidx.wear.compose:compose-material3:1.0.0-alpha04 viene rilasciato. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto IconButton a Material3, un pulsante circolare con un'unica fessura per l'icona/l'immagine. Esistono quattro varianti: IconButton, FilledIconButton, FilledTonalIconButton e OutlinedIconButton. Per le diverse dimensioni di IconButton, ti consigliamo di utilizzare Modifier.touchTargetAwareSize e ExtraSmallButtonSize, SmallButtonSize, DefaultButtonSize e LargeButtonSizeIcon forniti in IconButtonDefaults. Forniamo inoltre IconButtonDefaults.iconSizeFor per determinare le dimensioni consigliate delle icone per una determinata dimensione di pulsante. (I721d4).

Versione 1.0.0-alpha03

19 aprile 2023

androidx.wear.compose:compose-material3:1.0.0-alpha03 viene rilasciato. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto il componente Pulsante Material 3. Questo è il nostro pulsante a forma di stadio. In precedenza si chiamava Chip nella libreria di Materiali di Wear Compose (è stato rinominato Pulsante per coerenza con la libreria di Compose Material 3). Il pulsante predefinito ha uno sfondo riempito e sono presenti variazioni per FilledTonal (sfondo disattivato), Contorno (trasparente con bordo sottile) e Secondario (sfondo trasparente e senza bordo, utilizzato per azioni supplementari con la minore evidenza). I pulsanti rotondi per icone e contenuti testuali semplici saranno introdotti in una versione futura.(Ia6942)

Versione 1.0.0-alpha02

5 aprile 2023

androidx.wear.compose:compose-material3:1.0.0-alpha02 viene rilasciato. La versione 1.0.0-alpha02 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto un valore DefaultTextStyle a Wear Compose Material 3 che, per impostazione predefinita, ha il valore "true" per PlatformTextStyle.includeFontPadding (l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose (vedi Correggere la spaziatura interna dei caratteri in Compose per lo sfondo). (I7e461).

Versione 1.0.0-alpha01

22 marzo 2023

androidx.wear.compose:compose-material3:1.0.0-alpha01 viene rilasciato. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Material 3 è la prossima evoluzione di Material Design e include temi aggiornati e componenti rinnovati. Material 3 su Wear Compose è progettato per essere coeso con la libreria di Material 3 Compose su Android. Questa prima versione alpha contiene implementazioni iniziali e funzionali dei seguenti elementi:

    • Tema Material: consente di configurare la combinazione di colori, la tipografia e le forme in modo coerente nei componenti della libreria. Il tema Material3 ha colori rivisitati per supportare un contrasto accessibile. (I84005)
    • Testo/icona: componenti di base per le app Wear Compose (I8e06a)
  • Continueremo a sviluppare in parallelo il materiale di usura (androidx.wear.compose:compose-material) e il materiale di usura 3 (androidx.wear.compose:compose-material3). Le future release di material3 amplieranno il set di widget per includere altri componenti familiari di Compose per Wear OS, come pulsanti, selettori e dispositivi di scorrimento.

  • Le librerie di Materiale Wear e Materiale Wear 3 si escludono a vicenda e non devono essere combinate nella stessa app, principalmente perché fanno riferimento a temi diversi, il che causerebbe incongruenze impreviste.

Versione 1.4

Versione 1.4.0-alpha05

20 marzo 2024

androidx.wear.compose:compose-*:1.4.0-alpha05 viene rilasciato. La versione 1.4.0-alpha05 contiene questi commit.

Modifiche alle API

  • Abbiamo reso pubbliche le proprietà initialCenterItemIndex e initialCenterItemScrollOffset di ScalingLazyListState. (I0c616)
  • Abbiamo reso pubblico il FullScreenStrokeWidth di ProgressIndicatorDefaults. (Ibea23).

Correzioni di bug

  • Abbiamo migliorato il rendimento di PositionIndicator riducendo il numero di chiamate a layoutInfo da ScalingLazyColumn. (Idc83d)

Versione 1.4.0-alpha04

6 marzo 2024

androidx.wear.compose:compose-*:1.4.0-alpha04 viene rilasciato. La versione 1.4.0-alpha04 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto un nuovo sovraccarico per ToggleChip e SplitToggleChip che utilizza un parametro selectionControl anziché il parametro toggleControl. Deve essere usato con il controllo RadioButton per fornire una semantica selezionabile invece di una semantica attivabile per l'accessibilità (I1d6d9)
  • Abbiamo aggiornato i nomi dei parametri per il nuovo sovraccarico di selectionControl da onSelected a onSelect per ToggleChip e SplitToggleChip (I1a971)

Versione 1.4.0-alpha03

21 febbraio 2024

androidx.wear.compose:compose-*:1.4.0-alpha03 viene rilasciato. La versione 1.4.0-alpha03 contiene questi commit.

Modifiche alle API

  • Il wrapper Modifier.inspectable è stato ritirato. Questa API creerà più invalidazioni del modificatore del necessario, quindi il suo utilizzo è ora sconsigliato. Consigliamo agli sviluppatori di implementare il metodo inspectableProperties() su ModifierNodeElement se vogliono esporre le proprietà di modifica agli strumenti. (Ib3236)

Correzioni di bug

  • Abbiamo corretto un bug della documentazione per le annotazioni WearPreview*. (Id526d)

Versione 1.4.0-alpha02

7 febbraio 2024

androidx.wear.compose:compose-*:1.4.0-alpha02 viene rilasciato. La versione 1.4.0-alpha02 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto un bug nello scorrimento per scoprire che era possibile interagire con (e annullare) un'azione impegnata su un elemento iniziando a far scorrere un altro elemento.(Ide059)
  • Abbiamo aggiornato ListHeader in modo da supportare la regolazione dell'altezza quando i contenuti richiedono un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni. (I7290c, b/251166127)

Versione 1.4.0-alpha01

24 gennaio 2024

androidx.wear.compose:compose-*:1.4.0-alpha01 viene rilasciato. La versione 1.4.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto l'animazione delle voci a SwipeDismissableNavHost per le transizioni in-app (cfeb79a).
  • Quando viene visualizzata per la prima volta una schermata, ora viene mostrata per impostazione predefinita PositionIndicator. Questa modifica è stata introdotta per garantire il rispetto delle norme sulla qualità di Wear. Purtroppo, significa che i test degli screenshot dovranno essere aggiornati sulle schermate che includono PositionIndicator, in quanto l'PositionIndicator non veniva visualizzato in precedenza. (419cef7)

Modifiche alle API

  • Abbiamo aggiunto una nuova API Ripple nelle librerie wear:compose-material e wear:compose-material3 che sostituisce la versione deprecata rememberRipple. Viene inoltre aggiunto un valore CompositionLocal temporaneo, LocalUseFallbackRippleImplementation, per ripristinare i componenti Material in modo che utilizzino le API rememberRipple/RippleTheme deprecate. Verrà rimosso nella prossima release stabile ed è destinato a essere un ausilio temporaneo alla migrazione solo nei casi in cui fornisci un RippleTheme personalizzato. Visita la pagina developer.android.com per avere informazioni sulla migrazione e ulteriori informazioni di base su questa modifica. (af92b21).
  • Abbiamo aggiornato ColorScheme in modo che sia immutabile, rendendo meno efficienti gli aggiornamenti dei singoli colori e rendendo più efficiente l'uso dei colori più comune. Il ragionamento alla base di questa modifica è che la maggior parte delle app non prevede l'aggiornamento dei singoli colori come caso d'uso principale. Questo è ancora possibile, ma si ricomporrà più di prima, a sua volta diminuiremo in modo significativo la quantità di abbonamenti statali attraverso tutto il codice materiale e influenzerà i costi di inizializzazione e runtime di casi d'uso più standard. (f5c48b7)
  • Il materiale Wear e i componenti Wear material3 che mostrano un MutableInteractionSource nell'API sono stati aggiornati in modo da mostrare un MutableInteractionSource con valore nullo per impostazione predefinita. Non ci sono modifiche semantiche qui: passare un valore null significa che non vuoi istruire MutableInteractionSource, che verrà creato all'interno del componente, se necessario. La modifica a null consente ad alcuni componenti di non allocare mai un MutableInteractionSource e ad altri componenti di creare un'istanza solo quando necessario, il che migliora le prestazioni di questi componenti. Se non stai utilizzando il MutableInteractionSource passato a questi componenti, si consiglia di passare il valore null. Ti consigliamo inoltre di apportare modifiche simili ai tuoi componenti. (f8fa920)
  • Abbiamo aggiornato rememberExpandableState in modo da salvare lo stato espandibile. In questo modo, i dati verranno memorizzati quando si passa a un'altra schermata e ripristinati quando si torna alla schermata originale. (5c80095)

Correzioni di bug

  • Abbiamo aggiornato l'impostazione ReduceMotion in modo che utilizzi un listener che preveda il ciclo di vita. (7c6b122)
  • Abbiamo aggiornato il listener di TouchExplorationStateProvider in modo che sia consapevole del ciclo di vita (be28b01)
  • Abbiamo rimosso il livello materialcore per CompactButton per migliorare le prestazioni (25db8e9)
  • Abbiamo migliorato BasicSwipeToDismissBox rispetto alle compensazioni NaN per evitare eccezioni (b983739)
  • Abbiamo aggiornato BasicSwipeToDismissBox per garantire che i valori alpha rientrino nell'intervallo 0,1
  • Abbiamo corretto un bug in ToggleButton, SplitToggleButton, Checkbox, Switch e RadioButton affinché gli annunci relativi all'accessibilità non vengano ripetuti (in precedenza, i ruoli semantici erano duplicati) (d11eeb7)

Versione 1.3

Versione 1.3.0

24 gennaio 2024

androidx.wear.compose:compose-*:1.3.0 viene rilasciato. La versione 1.3.0 contiene questi commit.

Modifiche importanti dalla versione 1.2.0

  • La funzione della classe SwipeToDismissBoxState, dell'enumerazione SwipeToDismissValue e dell'estensione Modifier.edgeSwipeToDismiss ora fanno parte del pacchetto androidx.wear.compose.foundation, anziché del pacchetto androidx.wear.compose.material. Questa architettura aggiornata consente di implementare la gestione dei gesti indipendentemente da altre considerazioni di progettazione. I flussi di lavoro di Material Design, come l'applicazione dei colori da un tema configurato, vengono gestiti separatamente.
  • I corsi SwipeToRevealCard e SwipeToRevealChip ti consentono di implementare recommended swipe-to-reveal guidance. La classe SwipeToRevealSample mostra come utilizzare questi componenti.
  • La nostra release 1.3.0-alpha02 ha introdotto una modifica che causa un aumento dell'altezza degli oggetti Chip e ToggleChip per supportare meglio il ridimensionamento dei caratteri selezionati dall'utente. Di conseguenza, è possibile che si verifichino alcuni tagli. Per risolvere il problema, ora la forma large per MaterialTheme utilizza un raggio d'angolo più grande (26 dp anziché 24 dp). Gli oggetti Chip e ToggleChip utilizzano questo nuovo raggio d'angolo per evitare di tagliare i contenuti sugli angoli di Chip e ToggleChip.

    • La maggior parte di Chips e ToggleChips non sono state modificate, data la loro altezza predefinita di 52 dp. Tuttavia, gli oggetti Chip e ToggleChip che contengono più righe di testo dell'etichetta primaria o secondaria, o per i quali l'altezza è stata sostituita, potrebbero causare l'interruzione dei test degli screenshot.

Modifiche aggiuntive

Per un insieme più completo delle modifiche introdotte nella versione 1.3.0, consulta le note sulla versione beta01.

Consigli per l'implementazione

  • Se la tua app consente agli utenti di spostarti tra i contenuti dello schermo, ad esempio in un'app basata su mappe, disattiva la gestione dello scorrimento impostando userSwipeEnabled su false nel componibile SwipeDismissableNavHost e includi un pulsante che consenta agli utenti di passare alla schermata precedente.
  • Per disattivare le animazioni per un indicatore di posizione durante le animazioni di dissolvenza in entrata e cambio di posizione in un elenco a scorrimento, utilizza un oggetto SnapSpec.
  • Mentre attendi che un'app multimediale carichi i contenuti per la riproduzione, mostra un componibile vuoto Placeholder.
  • Per creare una raccolta di articoli espandibili on demand, valuta la possibilità di utilizzare il corso sperimentale ExpandableStateMapping.

Versione 1.3.0-rc01

10 gennaio 2024

androidx.wear.compose:compose-*:1.3.0-rc01 viene rilasciato. La versione 1.3.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiornato la forma grande MaterialTheme in modo da utilizzare un raggio d'angolo arrotondato di 26 dp, che ora verrà utilizzato da Chip e ToggleChip. Questa modifica è necessaria per supportare le regolazioni dell'altezza quando i contenuti necessitano di un'altezza aggiuntiva per adattarsi a caratteri di grandi dimensioni. In caso contrario, la forma attuale dello stadio accorcia alcuni contenuti testuali.

    Testo tagliato agli angoli
    Figura 1: testo ritagliato sugli angoli.
    Testo non tagliato
    Figura 2: testo non tagliato.

    Questa modifica potrebbe causare interruzioni nei test degli screenshot. (I2e6ae).

Versione 1.3.0-beta02

13 dicembre 2023

androidx.wear.compose:compose-*:1.3.0-beta02 viene rilasciato. La versione 1.3.0-beta02 contiene questi commit.

Correzioni di bug

  • Abbiamo ripristinato il movimento di scorrimento previsto in BasicSwipeToDismissBox. Questo aspetto era stato modificato in una release precedente, in modo che la parte della slide della transizione si verificasse mentre il dito toccava lo schermo. (Id8e76)

Versione 1.3.0-beta01

15 novembre 2023

androidx.wear.compose:compose-*:1.3.0-beta01 viene rilasciato. La versione 1.3.0-beta01 contiene questi commit.

La release 1.3-beta01 di Compose per Wear OS indica che questa release della libreria è completa e che l'API è bloccata (tranne dove è stata contrassegnata come sperimentale). Wear Compose 1.3 include le seguenti nuove funzionalità:

  • È stata eseguita la migrazione di SwipeToDismissBoxState, SwipeToDismissValue e Modifier.edgeSwipeToDismiss da androidx.wear.compose.material a androidx.wear.compose.foundation, insieme all'implementazione sottostante con scorrimento per ignorare in BasicSwipeToDismissBox. In questo modo la gestione dei gesti per scorrere per ignorare può essere utilizzata indipendentemente da Material Design, ad esempio da SwipeDismissableNavHost in androidx.wear.compose.navigation. Si consiglia comunque di utilizzare l'elemento SwipeToDismissBox di androidx.wear.compose.material con Material Design, perché estrae i colori da MaterialTheme e poi delega l'implementazione rimanente a BasicSwipeToDismissBox.
  • SwipeDismissableNavHost ora supporta un nuovo parametro userSwipeEnabled che consente di disattivare la gestione dello scorrimento per le schermate in cui non è richiesta.
  • BasicSwipeToDismissBox ha migliorato la gestione della messa a fuoco utilizzando HierarchicalFocusCoordinator.
  • SwipeToReveal ha nuovi componenti componibili SwipeToRevealCard e SwipeToRevealChip in Material che seguono le linee guida UX consigliate per Card e Chip. Consente inoltre di annullare il supporto per l'azione secondaria.
  • DefaultTextStyle ora disattiva la spaziatura interna dei caratteri per garantire la coerenza su tutta la piattaforma Android.
  • Chip e ToggleChip ora regolano la propria altezza per adattarsi ai contenuti che sono cresciuti a causa dell'accessibilità dei caratteri di grandi dimensioni
  • PositionIndicator ora dispone di specifiche personalizzate per le animazioni con dissolvenza in entrata, dissolvenza in uscita e cambio di posizione. Per motivi legati alle prestazioni, è consigliabile che la dissolvenza in entrata e la modifica di posizione siano disattivate quando si utilizzano elenchi scorrevoli.
  • ExpandableStateMapping offre un nuovo modo per generare ExpandableStates quando devono essere creati on demand e non necessariamente con un ambito @Composable.
  • Placeholder ora consente la reimpostazione se i contenuti non sono più nello stato pronto. Inoltre, l'impostazione Riduci movimento ora viene applicata all'effetto scintillante e al movimento a comparsa su Placeholder.

Problemi noti

  • PositionIndicator non viene mostrato inizialmente alla prima visualizzazione di una schermata. Intendiamo apportare una modifica a una versione alpha iniziale della versione 1.4, in modo che venga mostrata inizialmente, ma senza animazioni.

Modifiche alle API

  • Abbiamo rinominato il livello di base SwipeToDismissBox in BasicSwipeToDismissBox. In questo modo viene più chiara la distinzione tra il componente di livello di base e il livello materiale SwipeToDismissBox. Quest'ultimo estrae i colori da MaterialTheme da utilizzare nelle scrims e delega l'implementazione rimanente a BasicSwipeToDismissBox. (Ibecfc)
  • Abbiamo contrassegnato come sperimentale rememberExpandableStateMapping e migliorato il rendimento di expandableItem. (I5f6bc).
  • Abbiamo sostituito la classe SwipeToRevealAction nelle API Card and Chip Material SwipeToReveal con un'API basata su slot che utilizza i componibili SwipeToRevealPrimaryAction, SwipeToRevealSecondaryAction e SwipeToRevealUndoAction. Consulta il codice campione per esempi su come utilizzare la nuova API. (Ia8943)
  • Abbiamo sostituito i PositionIndicator flag dell'animazione con i parametri AnimationSpec. Le singole animazioni possono essere disattivate passando snap come AnimationSpec. (I6c523)

Correzioni di bug

  • Abbiamo corretto un bug attivato dalla presenza di testo curvo limitato quando le dimensioni sono limitate (I50efe)
  • Abbiamo risolto un potenziale arresto anomalo NaN correlato a curvedComposable (I970eb)
  • Abbiamo ripristinato la rimozione dell'animazione di evidenziazione del cambio di posizione su PositionIndicator. (Ieb424).
  • Abbiamo rimosso lo strato materiale-anima del chip per il materiale per migliorarne le prestazioni. (If2dcb)

Versione 1.3.0-alpha08

18 ottobre 2023

androidx.wear.compose:compose-*:1.3.0-alpha08 viene rilasciato. La versione 1.3.0-alpha08 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto singoli flag ai sovraccarichi di PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata ritirata e inoltra le chiamate a quella nuova. Per motivi legati alle prestazioni e per la coerenza dell'esperienza utente, quando PositionIndicator viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la variazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (I44294)
  • Abbiamo ritirato i contenuti SwipeToDismissBoxState, SwipeToDismissValue e edgeSwipeToDismiss in seguito alla migrazione della funzionalità di scorrimento per ignorare l'annuncio a wear.compose.foundation. Sostituisci con gli equivalenti wear.compose.foundation. (Iee8c9).

Correzioni di bug

  • Abbiamo aggiornato i profili di riferimento per le librerie di base, di materiali e di navigazione di Wear Compose. (Idb060)
  • Abbiamo ripristinato una modifica del comportamento di PositionIndicator introdotta in un CL precedente, in modo che l'elemento PositionIndicator fosse animato all'inizio della visualizzazione di una schermata. Intendiamo apportare una modifica simile in una versione alpha iniziale della versione 1.4, in modo che PositionIndicator venga visualizzato inizialmente, ma senza animazioni. (I41843)
  • Abbiamo risolto alcuni problemi di prestazioni in PositionIndicator. (I1c654, b/302399827).
  • Abbiamo ottimizzato le prestazioni dell'implementazione predefinita del fornitore dello stato di esplorazione touch in modo che si basi su State<Boolean> anziché sullo stato derivato. (Ieec4d).
  • Abbiamo impostato dei rettangoli systemGestureExclusion per Android 13 e versioni successive. (Ib1f4b).

Versione 1.3.0-alpha07

4 ottobre 2023

androidx.wear.compose:compose-*:1.3.0-alpha07 viene rilasciato. La versione 1.3.0-alpha07 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto singoli flag a PositionIndicator per controllare diverse animazioni: showFadeInAnimation, showFadeOutAnimation e showPositionAnimation. L'API precedente è stata ritirata e inoltra le chiamate a quella nuova. Per motivi legati alle prestazioni e per la coerenza dell'esperienza utente, quando PositionIndicator viene utilizzato con un elenco scorrevole, consigliamo di disattivare i flag showFadeInAnimation e showPositionAnimation. Se PositionIndicator viene utilizzato come indicatore autonomo, ad esempio per la variazione del volume, ti consigliamo di attivare tutte e tre le animazioni. (Ia2d63).

Correzioni di bug

  • Abbiamo migliorato lo scorrimento per mostrare il movimento aggiungendo un'animazione di dissolvenza al testo dell'azione principale e dissolvendo l'azione secondaria/modificando la scala dell'icona con l'espansione a scorrimento completo. (Ib7223)
  • Ti consigliamo di rendere le azioni di Scorrimento per scoprire accessibili e abbiamo aggiunto azioni di accessibilità personalizzate ai nostri esempi di Scorrimento per scoprire. (I42224)
  • Abbiamo migliorato le prestazioni di SwipeToDismissBox, incluso il refactoring per garantire che la logica iniziale non attivi una ricomposizione. SwipeToDismissBox è ora disegnato a schermo intero. (Ie0aa2)
  • Abbiamo corretto un bug quando PositionIndicator spariva erroneamente. (I2091a).
  • È stato migliorato il rendimento di PositionIndicator ottimizzando le ricomposizioni. I nuovi flag per controllare le animazioni (fadeIn, fadeOut e positionChange) sono stati aggiunti successivamente (vedi Modifiche API) (Ifac7d)
  • Abbiamo aggiunto test Microbenchmark per PositionIndicator (Idf875)

Versione 1.3.0-alpha06

20 settembre 2023

androidx.wear.compose:compose-*:1.3.0-alpha06 viene rilasciato. La versione 1.3.0-alpha06 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto il supporto per Modifier.edgeSwipeToDismiss con SwipeToReveal. (I95774, b/293444286)
  • Abbiamo aggiunto dei campioni per il materiale SwipeToRevealChip e SwipeToRevealCard. (Ieb974)
  • Abbiamo aggiornato i profili di riferimento per le librerie Wear Compose Foundation e Material. (I1dd1f).

Versione 1.3.0-alpha05

6 settembre 2023

androidx.wear.compose:compose-*:1.3.0-alpha05 viene rilasciato. La versione 1.3.0-alpha05 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto una funzionalità di gestione della funzionalità Scorri per scoprire, in modo da poter scorrere un solo elemento alla volta. (I3cd7a)
  • È stata migliorata la documentazione di ScalingLazyColumnDefaults per rispecchiare meglio il suo comportamento effettivo. (I886d3)

Versione 1.3.0-alpha04

23 agosto 2023

androidx.wear.compose:compose-*:1.3.0-alpha04 viene rilasciato. La versione 1.3.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto dell'annullamento per l'azione secondaria di SwipeToReveal. (I7a22d).

Modifiche alle API

  • Aggiungi HorizontalPageIndicator alla raccolta Wear Material3. (Ifee99)
  • Sono stati aggiornati gli strumenti di anteprima di Wear Compose per utilizzare la raccolta androidx.wear.tooling.preview. (Ib036e).

Correzioni di bug

  • È stato corretto un bug nei pulsanti rotondi per cui i modificatori non erano concatenati correttamente. (I5e162).

Versione 1.3.0-alpha03

9 agosto 2023

androidx.wear.compose:compose-*:1.3.0-alpha03 viene rilasciato. La versione 1.3.0-alpha03 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto due nuovi componenti componibili in Material per implementare SwipeToReveal con Cards and chip. Questi componenti componibili seguono le linee guida sull'UX consigliate per il componente e semplificano l'implementazione di SwipeToReveal con i componenti esistenti in materiale Wear. (I7ec65)
  • Abbiamo attivato le annotazioni FloatRange come vincoli dell'API, che in precedenza erano indicati nei commenti. (Icb401)

Correzioni di bug

  • Abbiamo spostato la logica di scorrimento iniziale di ScalingLazyColumn all'interno di onGloballyPositioned(). (Ic90f1)
  • Ora stiamo utilizzando drawWithCache in PositionIndicator, ProgressIndicator e SelectionControls per ottimizzare le allocazioni dei tratti. (I5f225, b/288234617).
  • Abbiamo corretto la visibilità dei segni di spunta negli stati disattivati. (Ib25bf)
  • Abbiamo aggiornato Placeholder per consentire la reimpostazione in modo da mostrare il segnaposto se i contenuti non sono più in stato Pronto. (Ibd820)
  • Abbiamo apportato alcune correzioni ai test instabili di Placeholder (Idb560)

Versione 1.3.0-alpha02

26 luglio 2023

androidx.wear.compose:compose-*:1.3.0-alpha02 viene rilasciato. La versione 1.3.0-alpha02 contiene questi commit.

Modifiche alle API

  • Abbiamo fornito ExpandableStateMapping, un nuovo modo per generare ExpandableStates, per i casi in cui devono essere creati on demand, non necessariamente entro un ambito @Composable (Iff9e0)
  • È stata eseguita la migrazione di SwipeToDismissBox da androidx.wear.compose.material a androidx.wear.compose.foundation pacchetto. (I275fb).
  • File API aggiornati per annotare la soppressione della compatibilità. (I8e87a, b/287516207).
  • Abbiamo reso pubbliche le costanti di altezza per Chip, CompactChip e ToggleChip (Idbfde)
  • Abbiamo reso pubbliche le spaziatura interna orizzontale e verticale per Chip e CompactChip. (Ieeaf7).
  • È stata aggiunta una funzionalità per disattivare la gestione dello scorrimento in SwipeDismissableNavHost tramite il nuovo parametro userSwipeEnabled. (Id2a0b, b/230865655).
  • Abbiamo aggiornato la libreria di navigazione di Wear Compose per utilizzare il nuovo SwipeToDismissBox di Wear Compose Foundation. (I4ff8e).

Correzioni di bug

  • Abbiamo corretto un bug dell'ordine Z per cui expandedItem non mostrava i contenuti corretti dopo aver fatto clic sul comportamento di un pulsante quando era presente un pulsante. (I1899d, b/289991514)
  • Migliora la gestione della messa a fuoco di SwipeToDismissBox (e quindi di SwipeDismissableNavHost) utilizzando HierarchicalFocusCoordinator (I45362, b/277852486)
  • Abbiamo corretto la gestione dei gesti in SwipeableV2 . (I89737)
  • Abbiamo finalizzato i profili di riferimento per la versione 1.2. (Id5740)
  • In seguito alla migrazione di SwipeToDismissBox a Foundation, l'implementazione di Material SwipeToDismissBox viene ora inoltrata a Foundation e fornisce i valori colore predefiniti del relativo tema.(If8451)
  • Abbiamo aggiunto la semantica dell'intestazione a ListHeader. (Ic5420)
  • Ora Chip e ToggleChip regoleranno la propria altezza per adattarsi ai contenuti che sono cresciuti a causa dei caratteri di grandi dimensioni per l'accessibilità, quando necessario. (Iaf302).
  • È stato corretto un bug nel ruolo semantico dell'area toccabile di SplitToggleChip per l'accessibilità. (Ieed3a).
  • L'impostazione Diminuisci movimento ora disattiva l'effetto scintillante e a comparsa dai segnaposto. (I91046)
  • Stepper e InlineSlider ora supportano i clic ripetuti con pressione prolungata in modo da poter aumentare/diminuire rapidamente il valore di Stepper e InlineSlider tenendo premuti i pulsanti + o -. (I27359)

Versione 1.3.0-alpha01

21 giu 2023

androidx.wear.compose:compose-*:1.3.0-alpha01 viene rilasciato. La versione 1.3.0-alpha01 contiene questi commit.

Correzioni di bug

  • Come annunciato nei 1.2.0-alpha07 e nelle 1.2.0-alpha10, stiamo modificando le DefaultTextStyle per disattivare la spaziatura interna dei caratteri in modo che sia coerente su tutta la piattaforma Android. Questo risolve alcuni casi di ritagli di testo con caratteri di grandi dimensioni e può incidere anche sui layout dello schermo, pertanto è necessario aggiornare i test degli screenshot. Ad esempio, vediamo dei tagli di testo qui (Ic6a86).
Testo troncato con caratteri di grandi dimensioni
Figura 1: testo troncato.
  • Non è più presente quando la spaziatura interna dei caratteri è disattivata:
Testo non tagliato con caratteri di grandi dimensioni
Figura 2: testo non tagliato.
  • Abbiamo aggiornato wear.compose.foundation in modo che sia una dipendenza API di wear.compose.material (I72004, b/285404743)
  • Abbiamo corretto un bug in SwipeToDismissBox. I tasti dello sfondo e dei contenuti vengono ora passati al blocco "Ricorda", in modo che vengano creati nuovi modificatori quando i contenuti o lo sfondo cambiano. (Ib876c, b/280392104).
  • Abbiamo aggiornato TimeText in modo che utilizzi le impostazioni internazionali per la scelta del formato per 12 o 24 ore. (If4a3d)
  • Abbiamo corretto un'incoerenza in SwipeToDismissBox parametri predefiniti contentScrimColor. (I2d70f)
  • Abbiamo migliorato la gestione del movimento in SwipeToReveal. (I28fb7).

Problemi noti

  • Il supporto delle dimensioni dei caratteri configurate dall'utente è un requisito di accessibilità. Sappiamo che i chip multiriga possono causare il ritaglio del testo se visualizzati con caratteri di grandi dimensioni, quindi aggiorneremo Chip in una versione alpha 1.3 iniziale in modo da apportare regolazioni dell'altezza in questi casi.

Versione 1.2

Versione 1.2.1

18 ottobre 2023

androidx.wear.compose:compose-*:1.2.1 viene rilasciato. La versione 1.2.1 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug quando PositionIndicator scompariva erroneamente. (7a167f)

Versione 1.2.0

9 agosto 2023

androidx.wear.compose:compose-*:1.2.0 viene rilasciato. La versione 1.2.0 contiene questi commit.

Modifiche importanti dalla versione 1.1.0

Versione 1.2.0-rc01

26 luglio 2023

androidx.wear.compose:compose-*:1.2.0-rc01 viene rilasciato. La versione 1.2.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo finalizzato i profili di riferimento per la nostra release 1.2 (Id5740)

Versione 1.2.0-beta02

7 giugno 2023

androidx.wear.compose:compose-*:1.2.0-beta02 viene rilasciato. La versione 1.2.0-beta02 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto la nuova variabile sperimentale LocalReduceMotion CompositionLocal che disattiva la scalabilità e la dissolvenza su ScalingLazyColumn. (I58024)

Correzioni di bug

  • Abbiamo aggiornato i profili di riferimento per le librerie di base e materiali di Wear Compose(I4725d)
  • Abbiamo corretto un'incoerenza nei valori predefiniti per SwipeToDismissBox parametri contentScrimColor (I2d70f)
  • Abbiamo corretto il valore predefinito di DefaultTextStyle utilizzato per l'impostazione IncludeFontPadding (I737ed)

Versione 1.2.0-beta01

24 maggio 2023

androidx.wear.compose:compose-*:1.2.0-beta01 viene rilasciato. La versione 1.2.0-beta01 contiene questi commit.

Cosa c'è in Compose per Wear OS 1.2

La release 1.2-beta01 di Compose per Wear OS indica che questa release della libreria è completa e che l'API è bloccata (tranne dove è stata contrassegnata come sperimentale). Wear Compose 1.2 include le seguenti nuove funzionalità:

  • expandableItem e expandableItems sono due nuovi componenti Foundation che supportano l'espansione degli elementi all'interno di un elemento ScalingLazyColumn. Utilizza expandableItem per un singolo elemento espandibile, ad esempio "Testo" in cui il numero di righe. Utilizza expandableItems per un gruppo di elementi espandibili e expandableButton per semplificare la creazione di un pulsante che si comprime dopo l'espansione dei contenuti.
  • HierarchicalFocusCoordinator: questo componibile sperimentale consente di contrassegnare i sottoalberi della composizione come messa a fuoco attivata o disattivata.
  • Picker: l'API ora include userScrollEnabled per controllare se il selettore è attivo per lo scorrimento dell'utente.
  • PickerGroup: un nuovo componibile per la gestione contemporanea di più selettori. Gestisce lo stato attivo tra i selettori utilizzando l'API HierarchicalFocusCoordinator e consente la centratura automatica degli elementi dei selettori.
  • Placeholder - abbiamo aggiornato le animazioni con bagliore e "a comparsa". L'effetto di cancellazione dei contenuti viene ora applicato immediatamente quando i contenuti sono pronti.
  • ScalingLazyColumn - abbiamo eseguito la migrazione di ScalingLazyColumn e dei corsi associati da androidx.wear.compose.material.ScalingLazyColumn a androidx.wear.compose.foundation.lazy.ScalingLazyColumn. Esegui l'aggiornamento per utilizzare la versione Foundation.Lazy.
  • SwipeToReveal - Abbiamo aggiunto il supporto sperimentale dello scorrimento per scoprire come mezzo per accedere alle azioni secondarie, integrando il pattern esistente di "pressione prolungata".
  • Stepper: ora è presente un sovraccarico con un parametro enableRangeSemantics aggiuntivo per facilitare la disattivazione della semantica dell'intervallo predefinito.
  • Previews - abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei componibili sugli schermi Wear: WearPreviewSmallRound visualizza l'anteprima del componibile su un dispositivo rotondo di piccole dimensioni; WearPreviewLargeRound visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, la seguente annotazione e le annotazioni in anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componibili su un dispositivo Wear con caratteri di varie dimensioni, mentre WearPreviewDevices visualizza l'anteprima dei componibili su diversi dispositivi Wear.
  • Abbiamo aggiunto un elemento DefaultTextStyle a Wear Compose che, per impostazione predefinita, ha impostato il valore true per la proprietà PlatformTextStyle.includeFontPadding (questa è l'impostazione attuale). In questo modo potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie Compose in una versione precedente della versione 1.3 alpha. Per ulteriori informazioni, vedi 1.2.0-alpha10.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale della disattivazione del ridimensionamento e della dissolvenza delle animazioni quando l'impostazione reduce_motion è attivata. (I58024)

Correzioni di bug

  • Documentazione migliorata per angularWidthDp in CurvedSize.kt (Iab75c)
  • SwipeDismissableNavHost ora registra un avviso con le potenziali cause di un backstack vuoto. Questo avviene per evitare arresti anomali imprevisti causati da IllegalArgumentException, che è stato generato quando l'stack di backup era vuoto. (I04a81, b/277700155).

Versione 1.2.0-alpha10

10 maggio 2023

androidx.wear.compose:compose-*:1.2.0-alpha10 viene rilasciato. La versione 1.2.0-alpha10 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto dello scorrimento per scoprire, come mezzo per accedere alle azioni secondarie. Questo schema integra il modello di "pressione prolungata", ovvero il modo in cui un utente potrebbe rivelare azioni secondarie (diverse). (I60862)

Modifiche alle API

  • Abbiamo aggiunto RevealScope agli elementi componibili di azioni in SwipeToReveal, per dare accesso all'offset in cui vengono rivelate le azioni aggiuntive. (I3fd56)

Correzioni di bug

  • Risolto il problema per cui ScalingLazyColumn rimane bloccato sull'API Wear 33 dopo lo scorrimento (Ic4599)
  • Abbiamo apportato alcuni miglioramenti delle prestazioni a PositionIndicator per la riduzione del jank. (I35e92).
  • Abbiamo corretto un bug in Chip e CompactChip in cui il ruolo semantico non veniva più impostato su Role.Button. (I93f91, b/277326264).

Problemi noti

  • Abbiamo identificato un bug in Android Studio che causa errori nell'anteprima del rendering quando l'utente è annotato con @WearPreviewDevices e @WearPreviewFontScales. A breve verrà rilasciata una correzione. Tieni presente che le altre annotazioni di anteprima di Wear funzionano come previsto in Android Studio Giraffe 2022.3.1 e versioni successive.

  • Nella versione 1.2.0-alpha07 abbiamo aggiunto predefinitoTextStyle a Wear Compose, mantenendo il valore esistente PlatformTextStyle.includeFontPadding su true. Per lo sfondo, consulta la sezione Correggere la spaziatura interna dei caratteri in Compose. Cambieremo defaultTextStyle per disattivare la spaziatura interna dei caratteri in una versione alpha iniziale 1.3, in modo da garantire la coerenza su tutta la piattaforma Android. Questo risolve alcuni casi di ritagli di testo con caratteri di grandi dimensioni e può anche incidere sui layout dello schermo, per cui è necessario aggiornare i test degli screenshot. Ad esempio, con caratteri di grandi dimensioni vediamo il testo tagliato qui:

Testo troncato con caratteri di grandi dimensioni
Figura 1: testo troncato.
  • Non è più presente quando la spaziatura interna dei caratteri è disattivata:
Testo non tagliato con caratteri di grandi dimensioni
Figura 2: testo non tagliato.

La nuova impostazione può essere adottata ora sostituendo la tipografia nel tema; vedi il codice di esempio.

Versione 1.2.0-alpha09

19 aprile 2023

androidx.wear.compose:compose-*:1.2.0-alpha09 viene rilasciato. La versione 1.2.0-alpha09 contiene questi commit.

Modifiche alle API

  • Aggiungi angularSizeDp all'API CurvedModifier per impostare la larghezza angolare in DP (I89a52)

Correzioni di bug

  • Abbiamo risolto i problemi di accessibilità nelle nostre demo del selettore temporale(Id0eb7)

Versione 1.2.0-alpha08

5 aprile 2023

androidx.wear.compose:compose-*:1.2.0-alpha08 viene rilasciato. La versione 1.2.0-alpha08 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato ExpandableItemsState in ExpandableState. (If85ea)
  • Abbiamo aggiunto expandableButton per semplificare la creazione di un pulsante che si comprime quando il contenuto viene espanso e anche aggiornato gli esempi di annunci espandibili. (Iae309)

Correzioni di bug

  • Campioni espandibili migliorati per mostrare più possibilità. Animazione modificata di expandableItem per mantenere i contenuti centrati nell'animazione. (I2f637).
  • È stato aggiornato ToggleControls per evitare ricomposizioni aggiuntive quando si animano manualmente i colori utilizzando lo stato. (I5d319)

Versione 1.2.0-alpha07

22 marzo 2023

androidx.wear.compose:compose-*:1.2.0-alpha07 viene rilasciato. La versione 1.2.0-alpha07 contiene questi commit.

Modifiche alle API

  • Abbiamo spostato i componenti dell'elemento espandibile (aggiunti nella versione 1.2.0-alpha06) dal materiale alla base, dato che non avevano riferimenti significativi a MaterialTheme. (Ib0525)

Correzioni di bug

  • Abbiamo corretto un arresto anomalo che si è verificato in una schermata che utilizza PickerGroup, assicurandoti che PickerGroup gestisca correttamente lo stato attivo quando non è impostato alcun selettore. È stato inoltre aggiunto il supporto dello scorrimento RSB nelle demo del selettore. (If8c19)
  • Abbiamo migliorato le transizioni delle finestre di dialogo: la transizione all'introduzione è ora più fluida in base a quella finale. (Ib5af9).
  • Abbiamo aggiunto un elemento DefaultTextStyle a Wear Compose che, per impostazione predefinita, ha impostato il valore true per la proprietà PlatformTextStyle.includeFontPadding (questa è l'impostazione attuale). In questo modo, in futuro potremo sincronizzare la disattivazione della spaziatura interna dei caratteri per impostazione predefinita con le librerie di Compose. Per informazioni sullo sfondo, vedi (Correggere la spaziatura interna dei caratteri in Compose). (I2aee8).
  • È stata ripristinata una dipendenza per l'anteprima di UpsideDownCake tramite la composizione dell'attività, che bloccava la pubblicazione delle app sul Google Play Store. (I6443d)

Versione 1.2.0-alpha06

8 marzo 2023

androidx.wear.compose:compose-*:1.2.0-alpha06 viene rilasciato. La versione 1.2.0-alpha06 contiene questi commit.

Modifiche alle API

  • Aggiungi il componente CurvedBox, che posiziona i componenti uno sopra l'altro nel mondo curvo. (I29200)
  • Aggiunti elementi espandibili: due nuovi componenti per supportare un gruppo di elementi espandibili in un elemento ScalingLazyColumn o un elemento singolo espandibile, ad esempio un testo in cui si espande il numero di righe. (I95dd5).
  • Abbiamo aggiunto le seguenti annotazioni personalizzate per l'anteprima dei componibili sugli schermi Wear: WearPreviewSmallRound visualizza l'anteprima del componibile su un dispositivo piccolo e rotondo; WearPreviewLargeRound visualizza l'anteprima del componibile su un dispositivo rotondo di grandi dimensioni; WearPreviewSquare visualizza l'anteprima del componibile su un dispositivo quadrato. Inoltre, la seguente annotazione e le annotazioni in anteprima multipla: WearPreviewFontScales visualizza l'anteprima dei componibili su un dispositivo Wear con caratteri di varie dimensioni, mentre WearPreviewDevices visualizza l'anteprima dei componibili su diversi dispositivi Wear. Per utilizzare queste anteprime, devi utilizzare la versione più recente di Android Studio (Giraffe Canary 6) o versioni successive. Tieni presente che, se queste annotazioni non sono adatte al tuo scopo, l'anteprima può comunque essere utilizzata e supporta ulteriori personalizzazioni tramite parametri. (I397ff)
  • Abbiamo contrassegnato HierarchicalFocusCoordinator come sperimentale anche se è considerato un candidato per il trasferimento nelle librerie di composizione principali, data la sua ampia applicabilità. (I3a768)

Correzioni di bug

  • È stato corretto un bug in HierarchicalFocusCoordinator: quando la funzione lambda passata per il parametro focusEnabled viene modificata, ora utilizziamo correttamente il nuovo parametro. (Icb353)
  • Abbiamo aggiornato il colore predefinito dei contenuti disattivato impostandolo su Sfondo quando vengono utilizzati colori primari come sfondo in Button, CompactButton, Chip, CompactChip e ToggleButton. Ciò migliora il contrasto per l'accessibilità. (I527cc)

Versione 1.2.0-alpha05

22 febbraio 2023

androidx.wear.compose:compose-*:1.2.0-alpha05 viene rilasciato. La versione 1.2.0-alpha05 contiene questi commit.

Modifiche alle API

  • È stata aggiornata l'API PickerGroup per consentire la propagazione dei vincoli minimi nel componibile facoltativamente. Se impostato su true, i vincoli minimi trasferiti dall'elemento componibile principale saranno consentiti nell'elemento PickerGroup. Se viene impostato su false, PickerGroup reimposterà i vincoli minimi. (I3e046).
  • Abbiamo aggiunto animateScrollToOption all'API Picker per supportare l'animazione programmatica a un'opzione del selettore specifica (I6fe67)

Correzioni di bug

  • Abbiamo aggiornato HorizontalPageIndicator per supportare i layout da destra a sinistra. (Ia4359)
  • Sono stati aggiunti i test degli screenshot per il layout da destra a sinistra in HorizontalPageIndicator (I6fbb8)
  • Sono stati aggiunti ulteriori test a SwipeDismissableNavHostTest che utilizzano TestNavHostController (I61d54)

Versione 1.2.0-alpha04

8 febbraio 2023

androidx.wear.compose:compose-*:1.2.0-alpha04 viene rilasciato. La versione 1.2.0-alpha04 contiene questi commit.

Nuove funzionalità

  • PickerGroup per gestire più selettori insieme utilizzando l'API Focus. Gestisce lo stato attivo tra i diversi selettori, consente la centratura automatica dei selettori in base ai parametri e consente agli sviluppatori di cambiare l'impostazione dello stato attivo tra i diversi selettori, gestendo al contempo gli eventi del gruppo. In modalità TalkBack, PickerGroup gestisce lo stato attivo di TalkBack spostando lo stato attivo sul selettore selezionato dal gruppo. (I60840)

Modifiche alle API

  • Abbiamo aggiunto un sovraccarico a Stepper con un ulteriore parametro enableRangeSemantics per facilitare la disattivazione della semantica dell'intervallo predefinito (Ia61d4)

Correzioni di bug

  • Consenti di nidificare ScalingLazyColumn all'interno di una pagina a scorrimento orizzontale (Iec3f8, b/266555016)
  • Miglioramento della pulizia dei file Kdocs Stepper e dei test di StepperTest. (Ic118e)
  • Dipendenza androidx.navigation aggiornata alla versione 2.5.3 (If58ed)

Versione 1.2.0-alpha03

25 gennaio 2023

androidx.wear.compose:compose-*:1.2.0-alpha03 viene rilasciato. La versione 1.2.0-alpha03 contiene questi commit.

Modifiche alle API

  • Abbiamo eseguito la migrazione di ScalingLazyColumn (e dei corsi associati) da androidx.wear.compose.material.ScalingLazyColumn a andrdoidx.wear.compose.foundation.lazy.ScalingLazyColumn (vedi questo esempio per la migrazione). Questa nuova posizione corrisponde più da vicino a quella di compose.foundation.lazy.LazyColumn ed è più naturale in quanto non è un componente Material come "guida". Il cambiamento è in corso in preparazione a una nuova libreria Material3, a cui lavoreremo in parallelo con la libreria Material esistente. (I060e7)

Le seguenti modifiche fanno parte della migrazione di ScalingLazyColumn da Material a Foundation.Lazy:

  • Le API PositionIndicator che hanno come target il materiale ScalingLazyColumn sono state ritirate. Esegui l'aggiornamento a Foundation.Lazy ScalingLazyColumn. Inoltre, il campo anchorType è stato aggiunto a ScalingLazyListLayoutInfo. (I29d95).
  • L'app ScalingLazyColumn è stata contrassegnata come deprecata nel pacchetto Materiali di Wear Compose (I16d34)
  • Abbiamo aggiornato il modificatore ScrollAway in modo che utilizzi ScalingLazyListState da Wear Compose Foundation.Lazy e ritirato il sovraccarico che ha richiesto ScalingLazyListState al materiale di Wear Compose. (Ifc42c).
  • Abbiamo aggiornato le API di dialogo in modo da utilizzare ScalingLazyListState da Foundation.Lazy e ritirato i sovraccarichi che utilizzavano Material ScalingLazyListState (Ic8960)
  • Abbiamo aggiornato le API Picker in modo da utilizzare ScalingParams da Foundation.Lazy e ritirato i sovraccarichi che utilizzavano Material ScalingParams. (Idc3d8)

Correzioni di bug

  • Abbiamo corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex assicurandoci che invii gli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)
  • Abbiamo migliorato il rendimento di SwipeToDismissBox (I3933b)
  • Aggiunti test di benchmark per ScalingLazyColumn in Wear Compose Foundation (Ie00f9)
  • Abbiamo aggiornato alcuni metodi interni dei corsi ScalingLazyColumn in Material in modo da utilizzare i loro equivalenti di Foundation.Lazy (I38aab)
  • Abbiamo risolto alcuni problemi nei test del selettore e abbiamo aggiunto altri test per controllare lo scorrimento con offset (I6ac34)
  • Abbiamo eseguito la migrazione delle demo di integrazione di ScalingLazyColumn in modo che dipendono da Foundation.Lazy anziché dal materiale ScalingLazyColumn (Ic6caa)
  • Abbiamo aggiunto parametri fromDate/toDate facoltativi alla nostra demo DatePicker (I961cd)

Versione 1.2.0-alpha02

11 gennaio 2023

androidx.wear.compose:compose-*:1.2.0-alpha02 viene rilasciato. La versione 1.2.0-alpha02 contiene questi commit.

Modifiche alle API

  • Ora i test dell'interfaccia utente di Android Compose eseguiranno i passaggi per il layout di ogni frame durante l'esecuzione di frame per diventare inattivi (ad es. tramite waitForIdle). Ciò potrebbe influire sui test che eseguono l'affermazione sui singoli frame delle animazioni del layout. (I8ea08, b/222093277).
  • Il parametro minLines viene aggiunto a Testo di Wear per garantire un comportamento coerente con BasicText (I24874)
  • CompactChipTapTargetPadding è stato reso pubblico in modo che possa essere visualizzato nella documentazione (If1e70, b/234119038)

Correzioni di bug

  • Disabilita le build multipiattaforma per i pacchetti wear.compose (Iad3d7)
  • Correggi kdocs per scrollToOption (I6f9a0)
  • Il valore PlaceholderState.rememberPlaceholderState() è stato aggiornato in modo da utilizzare il valore rememberUpdatedState. Lo stato verrà aggiornato in caso di lambda onContentReady. (I02635, b/260343754)
  • Abbiamo risolto un problema di tremolio del testo nel componente Picker sfruttando la nuova strategia di composizione aggiunta a Modifier.graphicsLayer. (I99302)
  • Abbiamo corretto un bug che causava sfarfallii nella nostra demo DatePicker (I660bd)
  • Abbiamo migliorato l'accessibilità per le demo dei selettori della data e dell'ora di 12 ore (I05e12)
  • Abbiamo aggiornato le demo dei selettori di data e ora in modo che i selettori non siano interessati dalle modifiche alle richieste di risposta quando non sono selezionati (I4aecb)

Versione 1.2.0-alpha01

7 dicembre 2022

androidx.wear.compose:compose-*:1.2.0-alpha01 viene rilasciato. La versione 1.2.0-alpha01 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella i contenuti" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'avvio del loop di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di bagliore e cancellazione. (I5a7f4).

Modifiche alle API

  • Abbiamo aggiunto un HierarchicalFocusCoordinatorcomponibile per consentire di contrassegnare i sottoalberi della composizione come focus attivato o focus disattivato.(I827cb)
  • Abbiamo aggiunto una nuova proprietà per eseguire l'override del ruolo semantico per ToggleButton.(I67132)
  • Abbiamo aggiornato TimeTextDefaults.TimeFormat12Hours in modo da rimuovere AM/PM in TimeText. Questo modificherà il valore predefinito dei parametri timeSource nell'API TimeText. (I1eb7f).
  • Abbiamo esteso l'API Selettore per migliorare l'accessibilità per gli schermi con selettore multiplo. È disponibile una nuova proprietà (userScrollEnabled) per controllare se il selettore è attivo per lo scorrimento dell'utente. (I3c3aa).

Correzioni di bug

  • Abbiamo modificato la larghezza predefinita del bordo di un OutlinedButton/OutlinedCompactButton da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Icf84d).
  • Per ridurre l'effetto del primo elemento aggiunto a un ScalingLazyColumn vuoto che sembra scorrere fino a posizionarsi, abbiamo aggiunto un numero stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria ipotizzando un elemento iniziale con altezza pari a 0,dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolata la spaziatura interna superiore corretta, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti e, di conseguenza, viene visualizzato un effetto di scorrimento ridotto in base all'altezza reale degli elementi (I239a4).
  • Abbiamo aggiornato la protezione dello sfondo applicata all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear. (I9003e).
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per le voci dell'elenco di dimensione 0 al fine di evitare errori di divisione per zero.(Ic28dd)

Versione 1.1

Versione 1.1.2

8 febbraio 2023

androidx.wear.compose:compose-foundation:1.1.2, androidx.wear.compose:compose-material:1.1.2 e androidx.wear.compose:compose-navigation:1.1.2 vengono rilasciati. La versione 1.1.2 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto un bug che causava ricomposizioni non necessarie in ScalingLazyListState.centerItemIndex assicurandoci che invii gli aggiornamenti solo quando il valore cambia effettivamente (Ia9f38)

Versione 1.1.1

11 gennaio 2023

androidx.wear.compose:compose-foundation:1.1.1, androidx.wear.compose:compose-material:1.1.1 e androidx.wear.compose:compose-navigation:1.1.1 vengono rilasciati. La versione 1.1.1 contiene questi commit.

Correzioni di bug

  • Il valore PlaceholderState.rememberPlaceholderState() è stato aggiornato in modo da utilizzare il valore rememberUpdatedState. Lo stato verrà aggiornato in caso di lambda onContentReady. (I02635, b/260343754)

Versione 1.1.0

7 dicembre 2022

androidx.wear.compose:compose-foundation:1.1.0, androidx.wear.compose:compose-material:1.1.0 e androidx.wear.compose:compose-navigation:1.1.0 vengono rilasciati. La versione 1.1.0 contiene questi commit.

Modifiche importanti dalla versione 1.0.0

Nuove funzionalità

  • Abbiamo aggiornato la funzionalità sperimentale Segnaposto in modo che l'effetto "Cancella i contenuti" venga applicato immediatamente quando i contenuti sono pronti, anziché attendere l'avvio del loop di animazione successivo. Abbiamo anche apportato alcuni aggiornamenti alle animazioni di bagliore e cancellazione. (I5a7f4).

Correzioni di bug

  • Abbiamo modificato la larghezza predefinita del bordo di un OutlinedButton/OutlinedCompactButton da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Icf84d).
  • Per ridurre l'effetto del primo elemento aggiunto a un ScalingLazyColumn vuoto che sembra scorrere fino a posizionarsi, abbiamo aggiunto un numero stimato di autoCentering topPadding quando i contenuti sono vuoti. Questa modifica calcola la quantità di spaziatura interna superiore necessaria ipotizzando un elemento iniziale con altezza pari a 0,dp. Per ScalingLazyListAnchorType.ItemStart verrà calcolata la spaziatura interna superiore corretta, mentre per ScalingLazyListAnchorType.ItemCenter questo calcolo non sarà corretto perché l'altezza degli elementi è necessaria per dimensionare correttamente i contenuti e, di conseguenza, viene visualizzato un effetto di scorrimento ridotto in base all'altezza reale degli elementi (I239a4).
  • Abbiamo aggiornato la protezione dello sfondo applicata all'animazione SwipeToDismiss in modo che corrisponda alla piattaforma Wear.(I9003e)
  • Abbiamo corretto la gestione di PositionIndicator di LazyListState e ScalingLazyListState per le voci dell'elenco di dimensione 0 al fine di evitare errori di divisione per zero.(Ic28dd)

Versione 1.1.0-rc01

9 novembre 2022

androidx.wear.compose:compose-foundation:1.1.0-rc01, androidx.wear.compose:compose-material:1.1.0-rc01 e androidx.wear.compose:compose-navigation:1.1.0-rc01 vengono rilasciati. La versione 1.1.0-rc01 contiene questi commit.

Correzioni di bug

  • Abbiamo aggiunto regole del profilo di riferimento per Placeholders, ScrollAway, RadioButton, Switch, Checkbox, OutlinedButton, OutlinedCompactButton, OutlinedChip e OutlinedCompactChip. (I8249c)
  • Abbiamo corretto un bug in Modifier.scrollAway, pertanto se il valore itemIndex specificato non è valido (ad esempio, se l'indice degli elementi non rientra nell'intervallo), ora TimeText continuerà a essere visualizzato. (I2137a)
  • Abbiamo aggiornato l'animazione SwipeToDismissBox in modo che corrisponda all'implementazione della piattaforma. Dopo l'animazione iniziale della pressione, lo schermo si sposta verso destra una volta attivato lo spegnimento. (I41d34).
  • A scopo di ottimizzazione, abbiamo aggiornato Modifier.scrollAway in modo che legga solo il scrollState all'interno del blocco di misura per evitare di ricomporre il modificatore dopo ogni nuova misurazione. (I4c6f1).
  • Abbiamo aggiunto la documentazione e un esempio ai segnaposto per mostrare l'ordine corretto per Modifier.placeholder e Modifier.placeholderShimmer quando applicati allo stesso componibile. (Ie96f4, b/256583229).
  • Abbiamo modificato la larghezza predefinita del bordo di un OutlinedCompactChip/OutlinedChip da 2.dp a 1.dp per rispettare le specifiche finali dell'esperienza utente. (Ib3d8e).
  • Abbiamo corretto un bug in rememberPickerState per cui gli input aggiornati non venivano salvati, per cui gli elementi componibili non venivano aggiornati dopo le modifiche agli input. (I49ff6, b/255323197)
  • Abbiamo apportato alcuni aggiornamenti all'interfaccia utente per i segnaposto, 1) cambiare il gradiente di shimmer a 1,5 volte le dimensioni dello schermo, 2) aggiungere l'easing (bezier cubica) della progressione di shimmer e 3) accelerare l'animazione di wipe-off (250 ms). (Id29c1)
  • Abbiamo corretto un bug dell'interfaccia utente nell'effetto wipeOff dei segnaposto, a causa del quale gli sfondi di Chip e Card venivano cancellati leggermente in anticipo perché non prendeva in considerazione la posizione del componente sullo schermo. (I2c7cb)
  • Abbiamo aggiornato il disegno di sfondo del segnaposto in modo da unire i colori anziché sovrapporre loro, ove possibile, per ridurre il rischio che la fusione alpha dei diversi livelli ritagliati non consenta la perdita dei colori sottostanti in corrispondenza dei bordi dello sfondo dei segnaposto. (I2ea26).
  • Abbiamo corretto il calcolo di ScalingLazyListState.centerItemIndex/centerItemOffset in modo che, se due elementi si trovano ai lati della linea centrale dell'area visibile, quello più vicino verrà considerato centerItem. (I30709, b/254257769)
  • Abbiamo corretto un bug in ScalingLazyListState.layoutInfo.visibleItemsInfo che segnalava offset errati durante l'inizializzazione di ScalingLazyColumn. A questo punto, verrà restituito un elenco vuoto finché tutti gli elementi dell'elenco non saranno visibili e avranno gli offset corretti. Il controllo di ScalingLazyListState.layoutInfo.visibleItemsInfo.isNotEmpty() confermerà che l'inizializzazione di ScalingLazyColumn è completa e gli elementi sono visibili. (I3a3b8).

Versione 1.1.0-beta01

24 ottobre 2022

androidx.wear.compose:compose-foundation:1.1.0-beta01, androidx.wear.compose:compose-material:1.1.0-beta01 e androidx.wear.compose:compose-navigation:1.1.0-beta01 vengono rilasciati. La versione 1.1.0-beta01 contiene questi commit.

Cosa c'è in Compose per Wear OS 1.1

La versione 1.1.0-beta01 di Compose per Wear OS indicava che questa release della libreria è completa e l'API è bloccata.

  • La release 1.1 di Wear Compose include le seguenti nuove funzionalità:
    • Selettore: miglioramenti dell'accessibilità al selettore in modo che le schermate con più selettore siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile
    • Il parametro contentDescription del selettore viene ora utilizzato solo per l'opzione del selettore selezionata e accetta una stringa con valore null (nel commit precedente, era necessario passare una mappatura dall'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata).
    • Gli elementi del selettore ora sono sempre allineati al centro. La correzione di un bug durante l'impostazione di gradientRatio su zero ha avuto l'effetto collaterale di modificare l'allineamento.
    • Chip/ToggleChip - Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip per allinearli alle ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato per iniziare dal 50% di quello principale anziché dal 32,5%.
    • Chip/ToggleChip - Aggiunti sovraccarichi per la modifica delle forme dei chip
    • Chip/Button/ToggleButton - È stato aggiunto un nuovo stile con contorni per chip e pulsanti, oltre a nuovi componenti componibili OutlinedChip e OutlinedButton che forniscono un Chip/Button trasparente con un bordo sottile.
    • Scheda: sono state aggiornate le sfumature predefinite delle schede per allinearle alle ultime specifiche UX. La tabella CardDefaults.cardBackgroundPainter è stata aggiornata in modo da iniziare dal 30% di quelle principali e terminare al 20% di onSurfaceVariant (in precedenza era compresa tra il 20% e il 10% onSurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare del 75% di superficie al 32,5% di superficie principale a 0% di superficie principale al 50% di superficie principale.
    • Button/ToggleButton - Sono state aggiunte proprietà per la modifica delle forme dei pulsanti.
    • Tema: sono stati aggiornati alcuni colori predefiniti in MaterialTheme al fine di migliorare l'accessibilità in quanto i colori originali non presentavano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi chip/scheda/pulsante dal colore di sfondo del tema.
    • InlineSlider/Stepper - Ruoli relativi ai pulsanti aggiunti in modo che Talkback possa riconoscerli come pulsanti.
    • Impalcatura: ora PositionIndicator è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile: ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti di PositionIndicator sullo schermo.
    • CurvedText/TimeText - È stato aggiunto Modifier.scrollAway, che consente di far scorrere un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare con Column, LazyColumn e ScalingLazyColumn). ScrollAway viene in genere utilizzato per far scorrere la sezione TimeText all'esterno della visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto.
    • CurvedText/TimeText. Aggiunto il supporto per fontFamily, fontStyle e fontSynthesis in CurvedTextStyle, utilizzabile su curvedText e basicCurvedText.
    • CurvedText/TimeText - fontWeight aggiunto al costruttore e al metodo di copia su CurvedTextStyle
    • ToggleControls - Sono stati aggiunti i controlli animati Checkbox, Switch e RadioButton da usare con ToggleChip e SplitToggleChip. Possono essere utilizzate al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon).
    • Segnaposto - Aggiunto il supporto per i segnaposto sperimentali. Offre tre effetti visivi distinti progettati per funzionare insieme.
    • In primo luogo, un effetto pennello per lo sfondo del segnaposto utilizzato in contenitori come Chip e Schede da disegnare sul normale sfondo durante l'attesa del caricamento dei contenuti.
    • In secondo luogo, un modificatore (Modifier.placeholder()) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento.
    • In terzo luogo, un effetto gradiente/brillante del modificatore (Modifier.placeholderShimmer()) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati.
      • Tutti questi effetti sono progettati per essere coordinati, brillano e si cancellano in un modo orchestrato.
  • Dipendenze di Compose principali aggiornate dalla versione 1.2 alla versione 1.3

Modifiche alle API

  • Ora i parametri dei caratteri (fontFamily, fontWeight, fontStyle e fontSynthesis) possono essere specificati direttamente come parametri di curvedText (Idc422)

Correzioni di bug

  • curveText e basicCurvedText ora funzioneranno correttamente con TalkBack (è associato a un nodo Composer-UI correttamente dimensionato e posizionato (ma vuoto) utilizzando il testo come descrizione dei contenuti) (I7af7c, b/210721259)
  • È stata corretta la correzione di Picker quando PickerState.repeatedItems = false per aggiungere un'impostazione esplicita dei parametri di centratura automatica nell'ScalingLazyColumn interna dei selettori per garantire che sia possibile scorrere l'opzione zero fino al centro della vista. (I8a4d7).

Versione 1.1.0-alpha07

5 ottobre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha07, androidx.wear.compose:compose-material:1.1.0-alpha07 e androidx.wear.compose:compose-navigation:1.1.0-alpha07 vengono rilasciati. La versione 1.1.0-alpha07 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto sperimentale per i segnaposto. Offre tre effetti visivi distinti progettati per funzionare insieme. In primo luogo, un effetto pennello per lo sfondo del segnaposto utilizzato in contenitori come Chip e Schede da disegnare sul normale sfondo durante l'attesa del caricamento dei contenuti. In secondo luogo, un modificatore (Modifier.placeholder()) per disegnare un widget segnaposto a forma di stadio sopra i contenuti in fase di caricamento. In terzo luogo, un effetto gradiente/brillante del modificatore (Modifier.placeholderShimmer()) disegnato sopra gli altri effetti per indicare agli utenti che stiamo aspettando il caricamento dei dati. Tutti questi effetti sono progettati per essere coordinati, brillano e si cancellano in un modo orchestrato. (I3c339)

Modifiche alle API

  • Aggiunto il supporto per fontWeight, fontFamily, fontStyle e fontSynthesis in CurvedTextStyle, utilizzabile su curvedText e basicCurvedText. Questi parametri possono essere utilizzati per specificare il carattere e lo stile da utilizzare nel testo curvo.(Iaa1a8),(I72759)
  • Parametro di offset di Modifier.scrollAway aggiornato a Dp per coerenza con Modifier.offset (in precedenza era in pixel). Inoltre, è stato sottoposto a refactoring come LayoutModifier per garantire efficienza. (I9f94b).
  • Nell'ambito della nuova API di attivazione/disattivazione dei controlli, abbiamo rinominato RadioButton’s circleColor in ringColor. (I28fa9).
  • Abbiamo aggiunto i controlli di attivazione/disattivazione animati Checkbox, Switch e RadioButton da utilizzare con ToggleChip e SplitToggleChip. Possono essere utilizzate al posto delle icone statiche fornite da ToggleChipDefaults (switchIcon, checkboxIcon e radioIcon). (I8a8c4)

Versione 1.1.0-alpha06

21 settembre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha06, androidx.wear.compose:compose-material:1.1.0-alpha06 e androidx.wear.compose:compose-navigation:1.1.0-alpha06 vengono rilasciati. La versione 1.1.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto Modifier.scrollAway, che consente di far scorrere un elemento verticalmente dentro e fuori dalla visualizzazione, in base allo stato di scorrimento (con sovraccarichi per funzionare con Column, LazyColumn e ScalingLazyColumn). Di solito ScrollAway viene utilizzato per scorrere una TimeText fuori dalla visualizzazione quando l'utente inizia a scorrere un elenco di elementi verso l'alto. (I61766)

Correzioni di bug

  • PositionIndicator ora è posizionato e ridimensionato in modo da occupare solo lo spazio necessario. Questo è utile: ad esempio, se vengono aggiunte informazioni semantiche, TalkBack ora ottiene i limiti corretti di PositionIndicator sullo schermo. (Ie6106, b/244409133).

Versione 1.1.0-alpha05

7 settembre 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha05, androidx.wear.compose:compose-material:1.1.0-alpha05 e androidx.wear.compose:compose-navigation:1.1.0-alpha05 vengono rilasciati. La versione 1.1.0-alpha05 contiene questi commit.

Correzioni di bug

  • I ruoli relativi ai pulsanti sono stati aggiunti a InlineSlider e Stepper in modo che TalkBack possa riconoscerli come pulsanti. (Icb46c, b/244260275).
  • Abbiamo corretto l'ordine z degli indicatori di posizione e di pagina nell'impalcatura. Gli indicatori ora si troveranno sopra la vignetta, in modo che non siano oscurati dalla vignetta, se presente. (Ib988f, b/244207528).

Versione 1.1.0-alpha04

24 agosto 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha04, androidx.wear.compose:compose-material:1.1.0-alpha04 e androidx.wear.compose:compose-navigation:1.1.0-alpha04 vengono rilasciati. La versione 1.1.0-alpha04 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiornato una serie di colori predefiniti in MaterialTheme per migliorare l'accessibilità poiché i colori originali non presentavano un contrasto sufficiente, con conseguente difficoltà per gli utenti a distinguere gli sfondi chip/schede/pulsanti dal colore di sfondo del tema. I colori aggiornati sono superficie (0xFF202124-> 0xFF303133), onprimary(0xFF202124-> 0xFF303133), onSecondary(0xFF202124-> 0xFF303133), primarioVariant(0xFF669DF6-> 0xFF8AB0FF0) Le variazioni di colore, sebbene relativamente lievi, potrebbero influire sui test degli screenshot esistenti. (81ab09)

Correzioni di bug

  • È stato corretto un bug logico in ScalingLazyColumn che potrebbe comportare il mancato completamento dell'inizializzazione da parte degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco. Di conseguenza, l'inizializzazione è necessaria. (504347)

Versione 1.1.0-alpha03

10 agosto 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha03, androidx.wear.compose:compose-material:1.1.0-alpha03 e androidx.wear.compose:compose-navigation:1.1.0-alpha03 vengono rilasciati. La versione 1.1.0-alpha03 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un nuovo stile con contorni per Chips e Buttons e i nuovi componenti componibili OutlinedChip e OutlinedButton che forniscono un Chip/Button trasparente con un bordo sottile. (Id5972)

Modifiche alle API

  • Aggiunti sovraccarichi per la modifica delle forme dei pulsanti (ICCde)

Correzioni di bug

  • Abbiamo corretto le dimensioni dell'area di controllo dell'attivazione/disattivazione di ToggleChip, in quanto non corrispondeva alle specifiche UX. La specifica UX richiede un spaziatore di 4 dp tra l'etichetta e un'area dell'icona del controllo di attivazione/disattivazione di 24 x 24 dp, per una larghezza totale di 28 dp. Tuttavia, l'implementazione fornisce erroneamente l'area di controllo dell'attivazione/disattivazione 36x24.dp. Ciò comporta la rimozione di 8 dp di area utilizzabile delle etichette di testo. NOTA: questa correzione del bug offre ulteriore spazio per l'etichetta di testo e, di conseguenza, può influire (positivamente) sul layout del testo in caso di overflow. Se hai test degli screenshot, tra cui ToggleChips, potrebbe essere necessario aggiornarli. (I514c8, b/240548670)

Versione 1.1.0-alpha02

27 luglio 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha02, androidx.wear.compose:compose-material:1.1.0-alpha02 e androidx.wear.compose:compose-navigation:1.1.0-alpha02 vengono rilasciati. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • Abbiamo cambiato le dipendenze di Compose per Wear OS dalle librerie principali di Compose da 1.2.0 a 1.3.0-alpha0X

Modifiche alle API

  • Aggiunti sovraccarichi per la modifica delle forme dei chip (I02e87)

Correzioni di bug

  • Abbiamo animato la visibilità della vignettatura per mostrare/nascondere la finestra di dialogo, in modo da essere coerente con l'animazione di scalabilità esistente. (Ida33e)
  • Abbiamo corretto un bug per cui potrebbe verificarsi una divisione per zero a causa del comportamento scorretto durante lo scorrimento. (I86cb6).
  • È stato corretto un bug in ChipDefaults.childChipColor() per garantire che il colore di sfondo disattivato fosse completamente trasparente. (I2b3c3, b/238057342).

Versione 1.1.0-alpha01

29 giugno 2022

androidx.wear.compose:compose-foundation:1.1.0-alpha01, androidx.wear.compose:compose-material:1.1.0-alpha01 e androidx.wear.compose:compose-navigation:1.1.0-alpha01 vengono rilasciati. La versione 1.1.0-alpha01 contiene questi commit.

Modifiche alle API

  • Il parametro contentDescription del selettore viene ora utilizzato solo per l'opzione del selettore selezionata e accetta una stringa con valore null (in precedenza, era necessario passare una mappatura da un'opzione alla descrizione dei contenuti, ma veniva utilizzata solo l'opzione selezionata). (Ife6a7).
  • Abbiamo apportato miglioramenti all'accessibilità al selettore in modo che le schermate con selezione multipla siano navigabili con gli screen reader e la descrizione dei contenuti sia accessibile (I64edb)

Correzioni di bug

  • Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Compose di Wear (I9c694)
  • Abbiamo corretto la direzione del gradiente per i chip in modalità da destra a sinistra. Era in alto a sinistra->in basso a destra, ora è in alto a destra->in basso a sinistra. (Ic2e77).
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per allinearli con le specifiche UX più recenti. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% di quella principale anziché dal 32,5%. La metrica CardDefaults.cardBackgroundPainter è stata aggiornata per iniziare dal 30% di quella primaria e terminare al 20% di onSurfaceVariant (in precedenza era compresa tra 20% e 10% onSurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare del 75% di superficie al 32,5% di superficie primaria al 0% di superficie principale al 50% di superficie primaria. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro a Chip/ToggleChips con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile eventualità che lo sfondo sia di un colore chiaro. (Ibe1a4, b/235937657).
  • Gli elementi del selettore ora sono sempre allineati al centro. La correzione di un bug durante l'impostazione di gradientRatio su zero ha avuto l'effetto collaterale di modificare l'allineamento. (I712b8)

Versione 1.0

Versione 1.0.2

7 settembre 2022

androidx.wear.compose:compose-foundation:1.0.2, androidx.wear.compose:compose-material:1.0.2 e androidx.wear.compose:compose-navigation:1.0.2 vengono rilasciati. La versione 1.0.2 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto l'ordine z degli indicatori di posizione e di pagina nell'impalcatura. Gli indicatori ora si troveranno sopra la vignetta, in modo che non siano oscurati dalla vignetta, se presente. (Ib988f, b/244207528).

Versione 1.0.1

24 agosto 2022

androidx.wear.compose:compose-foundation:1.0.1, androidx.wear.compose:compose-material:1.0.1 e androidx.wear.compose:compose-navigation:1.0.1 vengono rilasciati. La versione 1.0.1 contiene questi commit.

Correzioni di bug

  • È stato corretto un bug logico in ScalingLazyColumn che potrebbe comportare il mancato completamento dell'inizializzazione da parte degli elenchi con un numero ridotto (in genere esattamente 2) di elementi dell'elenco. Di conseguenza, l'inizializzazione è necessaria. (076c61)

Versione 1.0.0

27 luglio 2022

androidx.wear.compose:compose-foundation:1.0.0, androidx.wear.compose:compose-material:1.0.0 e androidx.wear.compose:compose-navigation:1.0.0 vengono rilasciati. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

  • Questa è la prima release stabile di Compose per Wear OS (scopri di più).
  • Compose per Wear OS si basa sulle librerie principali di Compose, fornendo componenti aggiuntivi specifici per gli indossabili e, ove appropriato, implementazioni alternative dei componenti principali di Compose, personalizzate per i dispositivi indossabili.
  • Per un elenco dei componenti chiave di Wear Compose, consulta le note di rilascio relative a (Compose for Wear OS Beta01).

Correzioni di bug

  • Abbiamo animato la visibilità della vignettatura per mostrare/nascondere la finestra di dialogo, in modo da essere coerente con l'animazione di scalabilità esistente. (Ida33e)
  • Abbiamo corretto un bug per cui potrebbe verificarsi una divisione per zero a causa del comportamento scorretto durante lo scorrimento. (I86cb6).
  • È stato corretto un bug in ChipDefaults.childChipColor() per garantire che il colore di sfondo disattivato fosse completamente trasparente. (I2b3c3, b/238057342).

Versione 1.0.0-rc02

22 giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-rc02, androidx.wear.compose:compose-material:1.0.0-rc02 e androidx.wear.compose:compose-navigation:1.0.0-rc02 vengono rilasciati. La versione 1.0.0-rc02 contiene questi commit.

Correzioni di bug

  • Abbiamo corretto la direzione del gradiente per le schede in modalità da destra a sinistra (RTL). Era in alto a sinistra->in basso a destra e ora si trova in alto a destra->in basso a sinistra. (Ic2e77).
  • Abbiamo aggiornato i gradienti predefiniti per Chip/ToggleChip/Card per renderli in linea con le ultime specifiche UX. ChipDefaults.gradientBackgroundChipColors è stato aggiornato in modo da iniziare dal 50% di quella principale anziché dal 32,5%. La metrica CardDefaults.cardBackgroundPainter è stata aggiornata in modo che parte dal 30% di quella primaria e termini al 20% di onSurfaceVariant (in precedenza era compresa tra 20% e 10% su SurfaceVariant). ToggleChip.toggleChipColors passa da un gradiente lineare di superficie del 75% al 32,5% di superficie principale, a uno 0% di superficie principale al 50% di superficie principale. (I43bbd)
  • Abbiamo aggiunto un colore di sfondo (MaterialTheme.color.surface) dietro a Chip/ToggleChips con sfondi sfumati per garantire che siano correttamente visibili nell'improbabile eventualità che lo sfondo sia di un colore chiaro. (Ibe1a4, b/235937657).
  • Abbiamo aggiornato le regole del profilo di riferimento incluse nella libreria Compose di Wear (I9c694)

Versione 1.0.0-rc01

15 giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-rc01, androidx.wear.compose:compose-material:1.0.0-rc01 e androidx.wear.compose:compose-navigation:1.0.0-rc01 vengono rilasciati. La versione 1.0.0-rc01 contiene questi commit.

Modifiche alle API

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

Correzioni di bug

  • Abbiamo rimosso la chiamata esplicita a fillMaxWidth() dall'intestazione dell'elenco perché non è necessaria e può causare problemi se una ScalinglazyColumn ha una combinazione di componenti ListHeader() e Chip(), poiché la larghezza tenderà ad aumentare/ridursi man mano che ListHeader elementi vengono fatti scorrere dentro e fuori dalla visualizzazione. (I37144, b/235074035)
  • Abbiamo corretto un bug in ScalingLazyColumn che potrebbe far sì che le voci dell'elenco non vengano visualizzate correttamente fino alla scorrimento se la prima voce dell'elenco era abbastanza grande (inclusa la spaziatura interna) (Ic6159, b/234328517)
  • Abbiamo apportato una piccola modifica nell'interpolazione di ScalingLazyColumn quando gli elementi raggiungono il bordo dello schermo per adeguarsi agli aggiornamenti delle specifiche UX. Valori precedenti CubicBezierEasing(0.25f, 0.00f, 0.75f, 1.00f) -> nuovi valori CubicBezierEasing(0.3f, 0f, 0.7f, 1f). Per mantenere il comportamento precedente, puoi eseguire l'override di scalingParams di ScalingLazyColumn (Ie375c)
  • Abbiamo aggiunto una spaziatura interna a CompactChip per garantire che le dimensioni del target dei tocchi siano alte almeno 48.dp, in modo da rispettare le linee guida sull'accessibilità dei materiali. Questa operazione potrebbe interessare eventuali layout che utilizzi CompactChips, che occuperanno spazio aggiuntivo. (I3d57c).

Versione 1.0.0-beta03

1° giugno 2022

androidx.wear.compose:compose-foundation:1.0.0-beta03, androidx.wear.compose:compose-material:1.0.0-beta03 e androidx.wear.compose:compose-navigation:1.0.0-beta03 vengono rilasciati. La versione 1.0.0-beta03 contiene questi commit.

Nuove funzionalità

  • Abbiamo fatto funzionare ScalingLazyColumn in modalità Scrivi @Preview. (I3b3b6, b/232947354).

Modifiche alle API

  • Abbiamo modificato il valore predefinito per la proprietà ScalingLazyColumn.horizontalAlignment da "Start" a "CenterHorizontally" per garantire che gli elementi dell'elenco che non riempiano l'intera larghezza della colonna vengano allineati per garantire la massima visibilità. Per tornare al comportamento precedente, imposta horizontalAlignment = Alignment.Start.(I9ed4b)

Problemi noti

  • L'altezza di tocco/tocco di CompactChip è inferiore alle linee guida sull'accessibilità di Material. Questo problema verrà corretto nella prossima release (il 15 giugno). Se utilizzi CompactChip, questa operazione influisce sui tuoi layout, poiché ora includerà una spaziatura interna aggiuntiva sopra e sotto. Modifica e testa i layout o consulta i commenti sul bug per una soluzione alternativa al comportamento del comportamento esistente. (b/234332135)

Correzioni di bug

  • Nuova demo per animare l'aggiunta o la rimozione di un testo iniziale su TimeText. (I16d75)
  • Aggiungi test per HorizontalPageIndicator.PagesState (I64ed0)
  • Aggiornamento di TimeText più simile alle specifiche UX (Ib7ea1)

Versione 1.0.0-beta02

18 maggio 2022

androidx.wear.compose:compose-foundation:1.0.0-beta02, androidx.wear.compose:compose-material:1.0.0-beta02 e androidx.wear.compose:compose-navigation:1.0.0-beta02 vengono rilasciati. La versione 1.0.0-beta02 contiene questi commit.

Nuove funzionalità

  • Il selettore ora risponde sempre agli eventi di scorrimento anche quando è in modalità di sola lettura. In questo modo non sarà necessario che gli utenti selezionino un selettore toccandoli prima di poter scorrere. In modalità di sola lettura, le opzioni diverse da quelle attualmente selezionate sono oscurate da uno shim in gradientColor. (I72925)
  • Abbiamo modificato il comportamento dell'UX di Chip/ToggleChip/CompactChip/SplitToggleChip per impedire all'utente di eseguire fillMaxWidth per impostazione predefinita. ma crescono per adattarsi ai contenuti. Per mantenere il comportamento precedente, aggiungi semplicemente modifier = Modifier.fillMaxWidth()(I60a2c, b/232206371)

Correzioni di bug

  • Il costruttore CurvedTextStyle che usa un TextStyle ora rispetta anche fontWeight(questa opzione può essere aggiunta al costruttore e ai metodi di copia nelle future revisioni dell'API) (Ieebb9)
  • Miglioramenti allo scorrimento sui bordi. Quando viene utilizzato Modifier.edgeSwipeToDismiss e viene attivato uno scorrimento verso sinistra dall'area del bordo, lo scorrimento per ignorare l'annuncio non viene più attivato quando la direzione dello scorrimento cambia verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare l'annuncio scorrendo verso sinistra e poi verso destra.(I916ea)
  • HorizontalPageIndicator ora mostra fino a 6 pagine sullo schermo. Se ci sono più di 6 pagine in totale, viene mostrato un indicatore di dimensioni dimezzate a sinistra o a destra, con una transizione uniforme tra le pagine.(I2ac29)
  • Comportamento di agganciamento predefinito migliorato su ScalingLazyColumn e Picker (I49539)
  • Miglioramenti allo scorrimento sui bordi. Quando viene utilizzato Modifier.edgeSwipeToDismiss, l'opzione per ignorare lo scorrimento si attiva solo quando il primo tocco viene posizionato sul bordo e scorri verso destra. In precedenza, era possibile attivare lo scorrimento per ignorare lo scorrimento da qualsiasi parte dello schermo se si raggiungeva l'inizio dello scorrimento (I8ca2a).

Versione 1.0.0-beta01

11 maggio 2022

androidx.wear.compose:compose-foundation:1.0.0-beta01, androidx.wear.compose:compose-material:1.0.0-beta01 e androidx.wear.compose:compose-navigation:1.0.0-beta01 vengono rilasciati. La versione 1.0.0-beta01 contiene questi commit.

Cosa c'è in Compose per Wear OS 1.0

Il 1.0.0-beta01 di Compose per Wear OS segna un traguardo importante, in quanto le funzionalità della raccolta sono complete e l'API è bloccata.

I componenti di Wear Compose Material nella release 1.0 includono:

  • Tema Material: utilizzato in sostituzione di Compose per Mobile MaterialTheme, fornisce i colori, le forme e la tipografia per creare componenti su dispositivi indossabili che implementano immediatamente le linee guida relative all'UX di Wear Material Design.
  • Button, CompactButton e ToggleButton: questo pulsante offre un'unica area in cui scattare un'icona, un'immagine o un testo breve (massimo 3 caratteri). Di forma circolare con dimensioni consigliate per pulsanti predefiniti, grandi o piccoli. CompactButton offre un'unica area per ospitare qualsiasi contenuto (icona, immagine o testo) ed è di forma circolare con dimensioni di sfondo molto piccole. CompactButton presenta una spaziatura interna trasparente facoltativa sullo sfondo che aumenta l'area cliccabile. ToggleButton è un pulsante che offre un'unica area in cui inserire qualsiasi contenuto (testo breve, icona o immagine) e presenta stati on/off (selezionato/deselezionato) con colori e icone diverse da mostrare se selezionati o meno
  • Schede: utilizzate per visualizzare informazioni su applicazioni come le notifiche. Design flessibile per diversi casi d'uso: AppCard e TitleCard offrono layout diversi e supporto per le immagini come contenuti della scheda o sfondi.
  • Fiches: componenti a forma di stadio simili ai pulsanti, ma con un'area più ampia e più slot per inserire etichette, etichette secondarie e icone. In diverse dimensioni e con il supporto per le immagini come sfondi.
  • SwitchChips e SplitToggleChips: un chip con stato selezionato/deselezionato e aggiunta di uno slot ToggleControl per mostrare un'icona, ad esempio un sensore o un pulsante di opzione, per mostrare lo stato selezionato del componente. Inoltre, SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile.
  • CircolareProgressIndicator: indicatore di avanzamento del materiale di usura con due variazioni. Il primo esprime la proporzione di completamento di un'attività in corso e sostiene un divario nel percorso circolare tra gli angoli di inizio e fine. Il secondo indica l'avanzamento indeterminato per un tempo di attesa non specificato.
  • curvedText: fa parte della DSL per descrivere CurvedLayouts, insieme a curvedRow e curvedColumn, per disporre i componenti intorno a dispositivi circolari. Consulta la sezione Nozioni di base dei componenti Wear di seguito per maggiori dettagli su CurvedLayout e CurvedModifier (questa funzionalità svolge un ruolo simile ai modificatori nel mondo non curvo e consente di configurare vari aspetti di layout, spaziatura interna, gradienti e così via).
  • Finestra di dialogo, avviso e conferma: la finestra di dialogo mostra una finestra di dialogo a schermo intero sovrapposta a qualsiasi altro contenuto e supporta lo scorrimento per ignorare. Occorre un singolo slot che dovrebbe avere contenuti della finestra di dialogo Materiale di Wear, come Avviso o Conferma. L'avviso è costituito da contenuti di finestre di dialogo con spazi per l'icona, il titolo e il messaggio. Presenta sovraccarichi per due pulsanti negativi e positivi mostrati affiancati o uno slot per uno o più chip impilati verticalmente. La conferma è un contenuto della finestra di dialogo che mostra un messaggio di una durata specifica. È dotato di uno slot per un'icona o un'immagine (che potrebbe essere animata).
  • HorizontalPageIndicator: mostra la posizione orizzontale della pagina in modo appropriato al fattore di forma Wearable. Progettata per mostrare le immagini a schermo intero e mostrare un indicatore curvo sui dispositivi rotondi. Può essere utilizzato con il visualizzatore di pagina Accompanista.
  • Icona: un'implementazione Wear di un'icona che prende colore e alpha dal tema dei materiali di Wear. Per un'icona cliccabile, vedi Pulsante o Chip.
  • Selettore: visualizza un elenco scorrevole di elementi da cui selezionare. Per impostazione predefinita, gli elementi verranno ripetuti "all'infinito" in entrambe le direzioni. Può essere visualizzato in modalità di sola lettura per nascondere le opzioni non selezionate.
  • PosizioneIndicator: mostra la posizione di scorrimento o un'altra indicazione di posizione in modo appropriato al fattore di forma Wearable. Progettata per essere visualizzata a schermo intero, mostra un indicatore curvo sui dispositivi rotondi.
  • Ponte: implementa la struttura visiva del layout di base di Wear Material Design. Questo componente fornisce un'API per assemblare diversi componenti in materiale Wear (ad esempio TimeText, PositionIndicator e Vignette) per costruire la schermata, garantire una strategia di layout adeguata e raccogliere i dati necessari affinché questi componenti funzionino insieme correttamente.
  • ScalingLazyColumn: un componente di elenco fisheye/scale a scorrimento che costituisce una parte fondamentale del linguaggio di Wear Material Design. Fornisce effetti di scalabilità e trasparenza ai contenuti. ScalingLazyColumn è progettato per essere in grado di gestire un numero potenzialmente elevato di contenuti, che vengono materializzati e composti solo quando necessario.
  • Dispositivo di scorrimento: consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene visualizzato sotto forma di barra, che può essere visualizzata facoltativamente con separatori.
  • Stepper: un componente a schermo intero che consente agli utenti di effettuare una selezione da un intervallo di valori, utilizzando i pulsanti di aumento/diminuzione nella parte superiore e inferiore dello schermo, con uno slot al centro per il testo o un chip.
  • Scorri per ignorare: gestisce il gesto di scorrimento per ignorare. È disponibile un'unica area per lo sfondo (visualizzato solo durante il gesto di scorrimento) e per i contenuti in primo piano. Facoltativamente, può essere combinata con la libreria di navigazione Androidx utilizzando SwipeDismissableNavHost (vedi la libreria di navigazione di Wear Compose di seguito).
  • Testo: un'implementazione Wear del componente Materiale di scrittura che prende i colori e le versioni alpha del tema Materiale di Wear.
  • TimeText: un componente per mostrare l'ora e lo stato dell'applicazione nella parte superiore dello schermo. Si adatta alla forma dello schermo utilizzando il testo curvo sugli schermi rotondi.
  • Vignettatura: una funzionalità dello schermo da utilizzare nell'impalcatura che sfoca la parte superiore e inferiore dello schermo quando sono in uso contenuti scorrevoli.

  • In Wear Compose Foundation sono inclusi anche i seguenti componenti:

  • CurvedLayout - Wear Foundation CurvedLayout è un layout componibile che posiziona i componenti secondari all'interno di un arco, ruotandoli secondo necessità. Questo è simile a un layout a riga curvo in un segmento di una corona circolare. Tieni presente che il contenuto di un CurvedLayout non è una funzione lambda componibile, ma una DSL (lingua specifica del dominio). Tutti gli elementi nella DSL di CurvedLayout supportano un parametro di modifica facoltativo, creato a partire da CurvedModifier.

  • BasicCurvedText, un elemento di CurvedLayout DSL, basicCurvedText consente agli sviluppatori di scrivere facilmente un testo ricurvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). È possibile creare basicCurvedText soltanto all'interno di CurvedLayout per garantire un'esperienza ottimale, ad esempio la possibilità di specificare il posizionamento e l'uso di CurvedModifiers. Tieni presente che, nella maggior parte dei casi, è necessario usare curvedText, poiché utilizza i temi Material.

  • curvedComposable: aggrega i normali contenuti componibili in modo da poterli utilizzare con CurvedLayout. Se curvedComposable ha diversi elementi al suo interno, questi verranno disegnati uno sopra l'altro (come un riquadro). Per posizionare diversi elementi componibili lungo una curva, aggrega ogni elemento con curvedComposable.

  • curvedRow e curvedColumn: come per Row e Column, i curvedRow e curvedColumn possono essere nidificati all'interno di un elemento CurvedLayout per disporre gli elementi in base alle esigenze. Per un elemento curvedRow, è possibile specificare la direzione del layout angolare e l'allineamento radiale. Per un elemento curvedColumn, è possibile specificare l'allineamento angolare e la direzione radiale.

  • CurvedModifier: tutti i componenti curvi accettano un parametro di modifica che può essere creato utilizzando CurvedModifier: sono supportati sfondo, dimensioni, peso e spaziatura interna.

  • Anche il seguente componente è incluso nella navigazione di Scrittura in Wear:

  • SwipeIgnoraableNavHost: consente di inserire nella gerarchia di Scrivi una posizione in cui eseguire la navigazione autonoma, con la navigazione a ritroso fornita da un gesto di scorrimento. I contenuti vengono visualizzati all'interno di un SwipeToDismissBox, che mostra il livello di navigazione corrente. Durante un gesto di scorrimento per ignorare viene visualizzato il livello di navigazione precedente (se presente) sullo sfondo.

  • Per ulteriori informazioni sui contenuti caricati, consulta le note di rilascio precedenti delle varie release alpha.

Modifiche alle API

  • Funzioni CurvedModifier.padding* aggiunte. Questi vengono utilizzati per specificare ulteriore spazio da aggiungere intorno a un componente curvo. (I4dbb4).
  • Classe interna CompositionLocal rimossa (I42490)
  • Abbiamo aggiunto valori costanti per le dimensioni delle icone Button, CompactButton e ToggleButton, come guida (I57cab)
  • Aggiungi parametro attivato a AppCard e TitleCard. Ora ha un'API simile alle schede androidx.compose.material. Se il parametro è impostato su false, non è possibile fare clic sulla scheda. (Idc48d, b/228869805).

Correzioni di bug

  • Stepper ora disabilita i pulsanti di diminuzione e aumento quando sono stati raggiunti i limiti inferiori/superiori (e applica ContentAlpha.disabilitato a iconColor) (I4be9f)
  • Abbiamo aggiunto una spaziatura interna di 1 dp intorno ai contenuti del selettore quando sono disegnati con una sfumatura, per evitare tremolio sul testo visto durante lo scorrimento. (I0b7b9)
  • Aggiungi test degli screenshot per PositionIndicator (I5e8bc)
  • Aggiungi altri test per AppCard e TitleCard (I85391, b/228869805)

Versione 1.0.0-alpha21

20 aprile 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha21, androidx.wear.compose:compose-material:1.0.0-alpha21 e androidx.wear.compose:compose-navigation:1.0.0-alpha21 vengono rilasciati. La versione 1.0.0-alpha21 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti nuovi modificatori curvi per specificare lo sfondo di un elemento curvo: CurvedModifier.background, .radialGradientBackground e .angularGradientBackground (I8f392)
  • Consenti la specifica della modalità di overflow del testo curvo (clip/ellissi/visibile). (I8e7aa).
  • Aggiunto il modificatore di CurvedModifier.weight, simile a quello di Scrivi. Può essere utilizzata sugli elementi secondari di curvedRow e CurvedLayout (per la larghezza) e sugli elementi secondari di curvedColumn (per l'altezza). (I8abbd)
  • Sono stati aggiunti i modificatori CurvedModifier.size, .angularSize e .radialSize per specificare le dimensioni di un elemento curvo. (I623c7)

Modifiche alle API

  • Riordina i parametri per assicurarti che lo sfondo sia prima del colore coerente nell'API Wear Compose (I43208)
  • Parametri insideOut e in senso orario rimossi e sostituiti con costanti più espressive in nuove classi. La direzione del layout curvo ora può essere sensibile a LayoutDirection e viene ereditata quando non specificata (If0e6a)
  • Abbiamo sostituito autoCenter: Boolean con autoCenter: AutoCentringParams al fine di risolvere un problema relativo all'API con ScalingLazyColumn. (Ia9c90)
  • Abbiamo rinominato iconTintColor e toggleControlTintColor in iconColor e toggleControlColor in tutta l'API (Chip/ToggleChip/Dialog/Slider/Stepper/...) perché il colore viene applicato all'area icon/toggleControl. (Ied238)
  • Riscrivi l'enum di PageIndicatorStyle nella classe di valore (I2dc72)
  • Abbiamo aggiunto RowScope/ColumnScope/BoxScope ad alcune aree dei nostri componibili per indicare agli sviluppatori quali sono i presupposti dei layout. In questo modo gli sviluppatori potranno usare modificatori aggiuntivi su alcuni contenuti dell'area annuncio ed evitare di dover fornire elementi di layout aggiuntivi. Inoltre, abbiamo apportato alcuni piccoli aggiornamenti ai colori delle schede dell'app e del titolo, in modo che i colori delle schede timeColor e appColor vengano impostati automaticamente su contentColor e, se necessario, è comunque possibile sostituire singolarmente queste proprietà. (I26b59).
  • Oggetto SwipeToDismissBoxState.Companion reso privato (I39e84)
  • Correggi l'ordine dei parametri per InlineSlider e Stepper. Una semplice modifica per seguire le linee guida delle API (I11fec)
  • L'oggetto risparmio per SwipeToDismissBoxState è stato rimosso perché non era utilizzato. (Ifb54e).
  • Abbiamo aggiornato CompactChip per integrarlo con la specifica UX più recente. La spaziatura interna è stata ridotta a 12,0 dp orizzontale e su 0,dp verticale. Il carattere dell'etichetta è stato modificato da "button" a "caption1". Le dimensioni consigliate per le icone sono 20 x 20 quando sono presenti sia icone che etichette e 24 x 24 per un chip compatto che include solo un'icona. Per il caso d'uso solo per le icone, abbiamo anche fatto in modo che l'icona sia allineata al centro. (Iea2be).
  • Abbiamo aggiunto una serie di nuovi campi a ScalingLazyListLayoutInfo per consentire agli sviluppatori di conoscere la quantità di contentPadding e autoCenteringPadding applicata. Possono essere utili per gli sviluppatori per il calcolo di scorrimenti/scorrimenti (I7577b)
  • Abbiamo implementato le transizioni di entrata e uscita per la finestra di dialogo. È stato aggiunto un parametro showDialog e la finestra di dialogo ora controlla la propria visibilità. In questo modo, la finestra di dialogo può eseguire le animazioni dell'introduzione e della chiusura quando la finestra viene mostrata/nascosta. Tieni presente che l'animazione di chiusura non viene eseguita quando l'utente esce dalla finestra di dialogo tramite scorrimento per ignorare. Abbiamo anche aggiunto un valore predefinito per lo stato nel sovraccarico SwipeToDismissBox aggiunto di recente. (I682a0)
  • Per supportare meglio i18n e a11y, abbiamo modificato ToggleChip e SplitToggleChip in modo che non abbiano più un valore predefinito per lo slot toggleControl. Abbiamo modificato anche ToggleChipDefaults, pertanto i seguenti metodi ora restituiscono ImageVector anziché Icon (tieni presente che, poiché non restituiscono più @Composables, sono stati modificati per iniziare con lettere minuscole), SwitchIcon()->switchIcon(), CheckboxIcon->checkboxIcon() e RadioIcon()->radioIcon(). In questo modo gli sviluppatori possono creare i propri componenti componibili Icon() con un set contentDescription appropriato. (I5bb5b).
  • Abbiamo aggiunto un parametro SwipeDismissableNavHostState a SwipeDismissableNavHost. È supportato l'uso dello scorrimento sui bordi sulle schermate utilizzate come destinazioni della navigazione, perché ora SwipeToDismissBoxState può essere sollevato e utilizzato per inizializzare SwipeDismissableNavHostState e Modifier.edgeSwipeToDismiss su schermi che richiedono lo scorrimento sui bordi. (I819f5, b/228336555).

Correzioni di bug

  • Assicurati che i layout curvi vengano aggiornati quando necessario. (Ie8bfa, b/229079150)
  • Correzione di bug per https://issuetracker.google.com/problemi/226648931 (Ia0a0a, b/226648931)
  • Rimosse le annotazioni sperimentali non necessarie (I88d7e)

Versione 1.0.0-alpha20

6 aprile 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha20, androidx.wear.compose:compose-material:1.0.0-alpha20 e androidx.wear.compose:compose-navigation:1.0.0-alpha20 vengono rilasciati. La versione 1.0.0-alpha20 contiene questi commit.

Nuove funzionalità

  • Aggiungi il modificatore edgeSwipeToDismiss per SwipeToDismiss. Consente di attivare swipeToDismiss solo sul bordo sinistro dell'area visibile. Da utilizzare quando il centro dello schermo deve poter gestire pagine orizzontali, ad esempio lo scorrimento in 2D di una mappa o lo scorrimento orizzontalmente tra le pagine.(I3fcec, b/200699800)

Modifiche alle API

  • L'implementazione di base di CurvedModifiers consente di introdurre modi per personalizzare i contenuti curvi (ma non sono ancora disponibili CurvedModifiers e la possibilità di creare modificatori personalizzati potrebbe essere disponibile in seguito) (I9b8df)
  • EdgeSwipela documentazione del modificatore e i valori predefiniti vengono aggiornati per una migliore comprensione .(I6d00d)
  • Aggiungi PageIndicator slot nell'impalcatura. Se aggiungi PageIndicator direttamente in impalcatura, possiamo assicurarti che verrà visualizzata correttamente sui dispositivi circolari. (Ia6042)
  • Rimuovi le icone predefinite da InlineSlider e dai parametri Stepper. Questo aiuterà gli sviluppatori a essere più attenti ai requisiti di localizzazione e accessibilità. Gli utilizzi delle icone predefinite sono stati mostrati nelle demo e negli esempi. (I7e6fd)
  • Sostituisci i nomi dei parametri finali e iniziali con Inizio e Fine in TimeText (Iaac32)
  • Abbiamo aggiunto un sovraccarico di SwipeToDismissBox con un parametro onDismissed per supportare l'uso comune dell'attivazione di un evento di navigazione al termine del gesto di scorrimento. (I50353, b/226565726)
  • Rimosse ExperimentalWearMaterialApi annotazioni dall'utilizzo di TimeText (Ide520)
  • Abbiamo contrassegnato le interfacce informative e relative all'ambito di ScalingLazyList/Column come sigillate, in quanto non sono pensate per l'implementazione da parte di sviluppatori esterni. Ciò ci consentirà di aggiungere nuovi membri in loro in futuro senza modifiche che provocano un errore nel programma binario. (I7d99f)
  • Abbiamo aggiunto una nuova proprietà flingBehaviour al selettore e un metodo PickerDefaults.flingBehaviour() per attivare la configurazione del comportamento di scorrimento come l'aggiunta del supporto RSB. Ora PickerState implementa l'interfaccia ScrollableState. (Ib89c7).

Correzioni di bug

  • Aggiorna le regole del profilo di base di Android Runtime (ART) per le librerie di Wear Compose. ART può sfruttare le regole del profilo sui dispositivi per compilare in anticipo un sottoinsieme specifico dell'applicazione al fine di migliorarne le prestazioni. Tieni presente che ciò non avrà alcun effetto sulle applicazioni di cui è possibile eseguire il debug. (Iaa8ef).
  • Migliora la documentazione (I2c051)

Versione 1.0.0-alpha19

23 marzo 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha19, androidx.wear.compose:compose-material:1.0.0-alpha19 e androidx.wear.compose:compose-navigation:1.0.0-alpha19 vengono rilasciati. La versione 1.0.0-alpha19 contiene questi commit.

Modifiche alle API

  • CurvedRow rinominato in CurvedLayout e rielaborato per diventare un ambito con una DSL. Con questa DSL è possibile specificare layout curvi più complessi utilizzando una serie di elementi curvedRow e curvedColumn nidificati (che sono gli equivalenti dei layout curvi di Riga e Colonna). All'interno di questi elementi del layout, possono essere utilizzati tre elementi: curvedComposable (per aggiungere qualsiasi @Composable), basicCurvedText (testo curvo della base) e curvedText (testo curvo basato sul materiale indossabile). (Ib776a)
  • Imposta il lato per PositionIndicator configurabile. La posizione dell'indicatore di posizione di base ora può essere configurata in modo che sia Fine (in base alla direzione di layout), AntRsb (prende in considerazione la rotazione dello schermo per posizionarsi opposta all'RSB fisico) o i valori assoluti A sinistra e destra. (I2f1f3).
  • Per SwipeToDismissBox, abbiamo rinominato SwipeDismissTarget.Originale in SwipeToDismissValue.Default e SwipeDismissTarget.Dismissal in SwipeToDismissValue.Dismissed. Abbiamo anche spostato SwipeToDismissBoxDefaults.BackgroundKey e SwipeToDismissBoxDefaults.ContentKey in SwipeToDismissKeys.Background, SwipeToDismissKeys.Content. (I47a36).
  • Abbiamo aggiunto una modalità di sola lettura al selettore, per le schermate con più selettori in cui è modificabile un solo selettore alla volta. Quando il selettore è di sola lettura, visualizza l'opzione attualmente selezionata e un'etichetta, se ne è stata fornita una. (I879de)
  • SwipeToDismissBoxState è stato sottoposto a refactoring per limitare l'ambito di ExperimentalWearMaterialApi a Modifier.swipeable e SwipeableState, che ora vengono utilizzati internamente. Ora SwipeToDismissBoxState ha currentValue, targetValue, isAnimationRunning e snapTo membri per supportare casi d'uso comuni. Contattaci se hai bisogno di rendere disponibili altre proprietà. È stato anche corretto il comportamento di SwipeableState nel caso in cui l'offset di scorrimento si trovi all'interno di un errore di arrotondamento di un ancoraggio. (I58302)

Correzioni di bug

  • Codice semplificato e fisso per rilevare se il contenuto di un ScalingLazyColumn può essere fatto scorrere (utilizzato per decidere se visualizzare o meno una barra di scorrimento) (I7bce0)
  • Risolto il bug relativo all'indicatore di posizione quando viene utilizzato in più stati e si passa da uno stato all'altro (I320b5)
  • Abbiamo aggiornato l'impostazione predefinita di Scrivi per la tipografia e i caratteri dei temi per Wear OS in modo che corrispondano alle nostre ultime indicazioni UX. Di nota: display1 (40.sp) e display2 (34.sp) ora sono più piccoli dei loro valori precedenti e vari altri piccoli aggiornamenti all'altezza delle righe e all'interlinea sono stati apportati. (Ie3077)
  • Abbiamo aggiunto resistenza a SwipeToDismissBox, in modo che il movimento si verifichi solo quando scorri per ignorare e non nella direzione opposta. (Ifdfb9).
  • Abbiamo modificato alcuni valori predefiniti dei parametri per le funzioni CircularProgressIndicator al fine di allinearle alle indicazioni relative all'esperienza utente di Wear Material Design. Per la versione Spinner/Indeterminata, sono state aggiornate le dimensioni (40->24.dp), IndicatorColor (primary->onBackground), la trasparenza trackColor (30%->10%) e lo spessore del tratto (4->3 dp). Per la versione Progress/Determinate, è stata aggiornata la trasparenza trackColor (30%->10%). (I659cc)
  • Abbiamo aggiornato i parametri di scalabilità predefiniti di ScalingLazyColumn in linea con le più recenti specifiche UX di Wear Material Design. A livello visivo, gli elementi dell'elenco iniziano a essere ridimensionati più vicino al centro dell'elenco, ma sono meno ridimensionati in corrispondenza del bordo dell'elenco rispetto a prima. (Ica8f3).
  • Alcune modifiche a ScalingLazyColumnDefaults.snapFlingBehavior per migliorare la fine dell'animazione (If3260)

Versione 1.0.0-alpha18

9 marzo 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha18, androidx.wear.compose:compose-material:1.0.0-alpha18 e androidx.wear.compose:compose-navigation:1.0.0-alpha18 vengono rilasciati. La versione 1.0.0-alpha18 contiene questi commit.

Modifiche alle API

  • Diversi miglioramenti all'indicatore PositionIndicator: ShowResult ha rinominato PositionIndicatorSyntax. Alcuni miglioramenti delle prestazioni per evitare di ripetere i calcoli quando non sono necessari (Iaed9d)
  • La colorazione consigliata per SplitToggleChip è stata aggiornata. Gli elementi SplitToggleChip ora hanno uno sfondo in tinta unita quando sono selezionati o deselezionati. La colorazione del controllo VPAID è l'indicazione principale per stabilire se il componente è selezionato o meno. Abbiamo aggiunto un nuovo ToggleDefaults.splitToggleChipColors() per supportare la nuova combinazione di colori. Abbiamo anche semplificato i metodi toggleChipColors() rimuovendo splitBackgroundOverlayColor (I7e66e)
  • Abbiamo aggiunto unadjustedSize a ScalingLazyListItemInfo perché non è sicuro calcolare la dimensione originale dell'elemento utilizzando la dimensione scalata e il fattore di scalabilità a causa della precisione dei calcoli matematici. (I54657, b/221079441)
  • Aggiungi HorizontalPageIndicator. Rappresenta il numero totale di pagine e una pagina selezionata. Potrebbe essere lineare o curva, a seconda della forma del dispositivo. Supporta inoltre una forma dell'indicatore personalizzata, che definisce il modo in cui ogni indicatore è rappresentato visivamente. (Iac898)
  • Abbiamo aggiornato PickerState in modo che sia possibile aggiornare numberOfOptions. Questo supporta casi d'uso come DatePicker, in cui il numero di giorni nel mese cambia in base al mese selezionato. Il parametro del costruttore per PickerState è stato modificato in startNumberOfOptions di conseguenza. (Iad066)
  • Nascondi PositionIndicator quando è una barra di scorrimento e non può scorrere. (Id0a7f)
  • Per garantire la coerenza con l'infrastruttura, il nostro componente Finestra di dialogo a schermo intero ora mostra un PositionIndicator e un Vignette. Ora stiamo utilizzando anche ScalingLazyColumn anziché Column, il che significa che i contenuti della finestra di dialogo sono ora in ScalingLazyListScope (e in genere devono essere racchiusi dall'elemento { /* content */ }). La finestra di dialogo supporta il parametro verticalArrangement di conseguenza. (Idea13)
  • Abbiamo modificato il nome della proprietà ToggleChip e SplitToggleChip transformIcon in FoldControl per allinearci meglio a Material Design e aiutare progettisti e sviluppatori a navigare nell'API. (If5921, b/220129803)
  • Abbiamo aggiunto una nuova voce caption3 alla tipologia del tema materiale per l'usura.Caption3 è un piccolo carattere utilizzato per scrivere in formato extra lungo come testi legali. (I74b13, b/220128356).

Correzioni di bug

  • Interrompi l'animazione di agganciamento quando ci siamo. (Idb69d)
  • Animazione delle modifiche nell'indicatore di posizione. (I94cb9)
  • In base al feedback dell'interfaccia utente e dell'esperienza utente, abbiamo modificato la centratura automatica di ScalingLazyColumn in modo da fornire solo spazio sufficiente per assicurarci che sia possibile scorrere fino al centro dell'area visibile per gli elementi con indice ScalingLazyListState.initialCenterItemIndex o superiore. In questo modo gli sviluppatori possono posizionare inizialmente uno o due elementi relativi all'elemento al centro e non possono scorrere al centro. Ciò significa che un ScalingLazyColumn con centratura automatica non potrà scorrere sopra initialCenterItemIndex/initialCenterItemScrollOffset (I22ee2)
  • Abbiamo aggiunto una demo per un Selettore di data e abbiamo corretto un bug in PickerState a causa del quale inizialmenteSelectedOption non veniva applicata finché il Selettore di date non era stato visualizzato. (Id0d7e)
  • Per ridurre il ritaglio degli elementi ScalingLazyColumn più larghi su schermi circolari, abbiamo aumentato la spaziatura interna dei contenuti orizzontale predefinita da 8 a 10 dp. (I0d609)
  • Assicurati che PositionIndicator venga visualizzato durante lo scorrimento. (Ied9a2).

Versione 1.0.0-alpha17

23 febbraio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha17, androidx.wear.compose:compose-material:1.0.0-alpha17 e androidx.wear.compose:compose-navigation:1.0.0-alpha17 vengono rilasciati. La versione 1.0.0-alpha17 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto il supporto Snap che può essere utilizzato con ScalingLazyColumn. Imposta flingBehavior = ScalingLazyColumnDefaults.flingWithSnapBehavior(state) per attivare il supporto Snap. (I068d3, b/217377069)
  • Abbiamo aggiunto le demo per il selettore utilizzato per selezionare un'ora nel formato a 24 o 12 ore. (Ie5552)

Modifiche alle API

  • Risolvi un problema relativo a TimeText caratteri e stili personalizzati sul dispositivo quadrato (Iea76e)
  • ScalingLazyListLayoutInfo ora ha reverseLayout, viewportSize e proprietà di orientamento corrispondenti a quelle di LazyListLayoutInfo (I4f258, b/217917020)
  • ScalingLazyColumn ora ha una proprietà userScrollEnabled corrispondente a quella di LazyList (I164d0, b/217912513)
  • Per impostazione predefinita, i selettori hanno un gradiente nella parte superiore e inferiore (Iab92a)

Correzioni di bug

  • Abbiamo modificato ScalingLazyColumn in modo che non riempia più avidamente tutti gli spazi dell'elemento principale. Prenderà invece la sua dimensione dalla dimensione dei suoi contenuti. Questo lo rende coerente con il comportamento di LazyColumn. Se desideri ripristinare il comportamento precedente, passa Modifier.fillMaxWidth()/width()/widthIn() a ScalingLazyColumn (I51bf8)
  • Abbiamo migliorato il messaggio di eccezione in SwipeDismissableNavHost.kt che è stato attivato se il backstack di navigazione era vuoto. (I1b1dc)

Versione 1.0.0-alpha16

9 febbraio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha16, androidx.wear.compose:compose-material:1.0.0-alpha16 e androidx.wear.compose:compose-navigation:1.0.0-alpha16 vengono rilasciati. La versione 1.0.0-alpha16 contiene questi commit.

Nuove funzionalità

  • Aggiungi CircularProgressIndicator. Gli indicatori di avanzamento mostrano la durata di un processo o un tempo di attesa non specificato. Supporta un intervallo (ritaglio) per TimeText o altri componenti, se utilizzato a schermo intero. (Iab8da).

Modifiche alle API

  • I selettori ora hanno un parametro flingBehavior; il valore predefinito li fa agganciare all'opzione più vicina durante lo scorrimento o lo scorrimento. (I09000)
  • API numeri interi aggiuntiva per InlineSlider e Stepper (I1b5d6)

Correzioni di bug

  • Il valore predefinito firstCenterItemIndex per ScalingLazyListState è stato modificato da 0 a 1. Ciò significa che, a meno che non venga eseguito l'override durante la creazione dello stato con ScalingLazyListState.rememberScalingLazyListState(initialCenterItemIndex =), il secondo elemento dell'elenco (indice == 1) verrà posizionato al centro dell'area visibile al momento dell'inizializzazione e il primo (indice == 0) verrà posizionato prima di quest'ultimo. Ciò consente di ottenere un migliore effetto visivo predefinito, in quanto la maggior parte dell'area visibile sarà riempita con elementi di elenco. (I0c623, b/217344252)
  • Abbiamo ridotto il valore ScalingLazyColumn predefinito extraPadding fornito per assicurare che ci siano molti elementi dell'elenco da tracciare (anche quando ne riduciamo alcune dimensioni) dal 10% al 5%. In questo modo eviterai di comporre ulteriori elementi dell'elenco che potrebbero non apparire nell'area visibile. Se vengono utilizzati scalingParams non standard (ad esempio, una scalabilità più estrema), lo sviluppatore può modificare la spaziatura interna aggiuntiva utilizzando viewportVerticalOffsetResolver. (I76be4).
  • Risolvere un problema con TimeText su più righe sul dispositivo quadrato (Ibd3fb)
  • Abbiamo modificato ScalingLazyColumn in modo che non riempia più avidamente tutti gli spazi dell'elemento principale. Prenderà invece la sua dimensione dalla dimensione dei suoi contenuti. Questo lo rende coerente con il comportamento di LazyColumn. Se desideri reintegrare il comportamento precedente, passa Modifier.fillMaxSize() al ScalingLazyColumn. NOTA: questa modifica è incompleta e verrà risolta in una modifica successiva nella prossima release alpha. (I3cbfa)

Versione 1.0.0-alpha15

26 gennaio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha15, androidx.wear.compose:compose-material:1.0.0-alpha15 e androidx.wear.compose:compose-navigation:1.0.0-alpha15 vengono rilasciati. La versione 1.0.0-alpha15 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto una nuova proprietà autoCentering a ScalingLazyColumn. Se il valore è true (valore predefinito), questo garantisce che tutti gli elementi, inclusi il primo e l'ultimo, possano essere fatti scorrere in modo da essere visibili al centro dell'area visibile degli elenchi. Tieni presente che, se utilizzi la centratura automatica, probabilmente vorrai impostare la spaziatura interna dei contenuti verticali su 0.dp. Se sono disponibili sia la centratura automatica che la spaziatura interna dei contenuti verticale, entrambi avranno a disposizione ulteriore spazio prima della prima e dopo l'ultima voce dell'elenco, consentendo un ulteriore scorrimento delle voci. (I2a282, b/214922490).
  • Abbiamo aggiunto un componente Dialog che consente a qualsiasi componibile di attivare una finestra di dialogo a schermo intero sovrapposta agli altri contenuti. Quando viene mostrata, la finestra di dialogo supporta lo scorrimento per ignorare e mostra i contenuti del genitore in background durante il gesto di scorrimento. I contenuti della finestra di dialogo dovrebbero essere Alert o Confirmation (rinominati dai componenti precedenti AlertDialog e ConfirmationDialog). Alert, Confirmation e Dialog sono tutti inclusi nel pacchetto androidx.wear.compose.material.dialog. Gli avvisi e la conferma possono essere utilizzati come destinazioni della navigazione. Inoltre, è stato aggiunto ColumnScope ai parametri Avviso e Conferma, se necessario. (Ia9014)
  • Abbiamo rimosso onSurfaceVariant2 dai colori del tema materiale di Compose per WearOS e sostituito gli utilizzi nella raccolta con onSurfaceVariant. (Icd592)
  • È stato aggiunto un metodo per selezionare in modo programmatico un'opzione su PickerState. Ora è possibile specificare anche l'opzione inizialmente selezionata durante la creazione di un PickerState. (I92bdf)
  • Abbiamo aggiunto il supporto della personalizzazione del comportamento del modello ScalingLazyColumn. (I1ad2e, b/208842968).
  • Abbiamo aggiunto NavController.currentBackStackEntryAsState() alla libreria Wear.Compose.Navigation. (If9028, b/212739653)
  • Aggiunti Modifier.onRotaryScrollEvent() e Modifier.onPreRotaryScrollEvent() per i dispositivi Wear con pulsante laterale rotante.(I18bf5, b/210748686)

Versione 1.0.0-alpha14

12 gennaio 2022

androidx.wear.compose:compose-foundation:1.0.0-alpha14, androidx.wear.compose:compose-material:1.0.0-alpha14 e androidx.wear.compose:compose-navigation:1.0.0-alpha14 vengono rilasciati. La versione 1.0.0-alpha14 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto diversi metodi a ScalingLazyListState per consentire agli sviluppatori di controllare lo scorrimento fino a voci specifiche dell'elenco, nonché per impostare la voce iniziale e l'offset dell'elenco.

    Nell'ambito di questa modifica, abbiamo anche modificato ScalingLazyList in modo che sia orientato intorno al centro dell'area visibile di ScalingLazyList anziché all'inizio.

    È stata aggiunta una nuova proprietà anchorType: ScalingLazyListAnchorType = ScalingLazyListAnchorType.ItemCenter a ScalingLazyList per controllare se il centro (ScalingLazyListAnchorType.ItemCenter) o Edge (ScalingLazyListAnchorType.ItemStart) deve essere allineato alla linea centrale dell'area visibile.

    Di conseguenza, i valori ScalingLazyListItemInfo.offset e ScalingLazyListItemInfo.adjustedOffset sono cambiati e ora rispecchieranno lo scarto dell'elemento rispetto alla posizione dell'elemento dell'elenco e ai anchorType dell'elenco. Ad esempio, per un elemento ScalingLazyColumn con anchorType pari a ItemCenter e un elemento elenco posizionato con il centro rispetto alla linea centrale dell'area visibile, l'offset sarà pari a 0.

    I nuovi metodi sono scrollTo, animatedScrollTo, centerItemIndex e centerItemOffset. (I61b61)

  • Abbiamo aggiunto un gestore del pulsante Indietro a SwipeDismissableNavHost, quindi premendo Indietro puoi tornare al livello precedente nella gerarchia di navigazione. (I5b086, b/210205624)

Versione 1.0.0-alpha13

15 dicembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha13, androidx.wear.compose:compose-material:1.0.0-alpha13 e androidx.wear.compose:compose-navigation:1.0.0-alpha13 vengono rilasciati. La versione 1.0.0-alpha13 contiene questi commit.

Modifiche alle API

  • Abbiamo aggiunto RangeIcons come interno (a cui fanno riferimento InlineSlider e Stepper). (I927ec)

Correzioni di bug

  • Risolto il problema per cui SwipeDismissableNavHost aggiungeva una destinazione alla gerarchia di Compose prima di raggiungere lo stato del ciclo di vita CREATED, generando un valore IllegalStateException. Questa correzione era un prerequisito per l'aggiornamento della dipendenza da navigation-compose a 2.4.0-beta02 e oltre. (I40a2b, b/207328687).

  • È stata aggiunta una classe enum di Drawables per recuperare risorse disegnabili all'interno della libreria di Wear Compose, in modo che il riflesso non sia più necessario. È stato corretto un bug per cui gli elementi di disegno della raccolta venivano rimossi quando minifyEnabled=true o shrinkResources=true. (Ib2a98)

  • Sono stati aggiunti test per Stepper in Wear Compose (I2d03a)

  • Sono stati aggiunti esempi per SwipeDismissableNavHost nella navigazione di Wear Compose. (I85f06)

Versione 1.0.0-alpha12

1° dicembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha12, androidx.wear.compose:compose-material:1.0.0-alpha12 e androidx.wear.compose:compose-navigation:1.0.0-alpha12 vengono rilasciati. La versione 1.0.0-alpha12 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un componente Stepper che consente agli utenti di effettuare una selezione da un intervallo di valori. Stepper è un controllo a schermo intero con pulsanti di aumento e diminuzione in alto e in basso e uno slot al centro (che dovrebbe contenere chip o testo). Se necessario, le icone dei pulsanti possono essere personalizzate. (I625fe)

  • Abbiamo aggiunto 2 nuovi componenti componibili per la visualizzazione delle finestre di dialogo: AlertDialog attende una risposta dell'utente e visualizza un titolo, un'icona, un messaggio e a) due pulsanti per semplici scelte positive/negative oppure b) chip impilati verticalmente o chip di attivazione/disattivazione per scelte più flessibili, ConfirmationDialog mostra una conferma con un timeout. Questa semplice finestra di dialogo presenta spazi per un titolo e un'icona (animata). (Ic2cf8).

Modifiche alle API

  • Aggiungi unità (millisecondi) ai valori suggeriti per la durata delle finestre di dialogo. (I09b48).

Versione 1.0.0-alpha11

17 novembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha11, androidx.wear.compose:compose-material:1.0.0-alpha11 e androidx.wear.compose:compose-navigation:1.0.0-alpha11 vengono rilasciati. La versione 1.0.0-alpha11 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto un componente selettore che consente all'utente di selezionare un elemento da un elenco a scorrimento. Per impostazione predefinita, l'elenco di elementi selezionabili viene ripetuto "all'infinito" in entrambe le direzioni, per dare l'impressione di un cilindro rotante visto di lato. Nelle versioni successive verranno aggiunte due funzionalità: agganciamento a un valore dopo scorrimento o scorrimento; aggiunta di una funzione a PickerState per impostare/scorrere fino al valore corrente. (I6461b)

Modifiche alle API

  • Sono stati aggiunti un valore ScalingLazyItemScope e alcuni nuovi modificatori FillParentMaxSize/fillParentMaxLarghezza/fillParentMaxHeight per consentire il ridimensionamento degli elementi dell'elenco in base alle dimensioni del contenitore principale. Gli elementi possono essere impostati in modo da riempire tutte le dimensioni dell'elemento principale o solo una parte. Questo espone la funzionalità già disponibile in LazyRow/Colonna (I4612f)
  • Aggiunto il supporto a ScalingLazyColumn per consentire agli elementi di avere una chiave. Sono stati aggiunti anche metodi di convenienza per consentire l'aggiunta di elementi da array ed elenchi. (Ic1f89)

Correzioni di bug

  • Esempi aggiuntivi per TimeText (I8cb64)

Versione 1.0.0-alpha10

3 novembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha10, androidx.wear.compose:compose-material:1.0.0-alpha10 e androidx.wear.compose:compose-navigation:1.0.0-alpha10 vengono rilasciati. La versione 1.0.0-alpha10 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un InlineSlider per Wear Composer. InlineSlider consente agli utenti di effettuare una selezione da un intervallo di valori. L'intervallo di selezioni viene mostrato come una barra tra i valori minimo e massimo dell'intervallo, da cui gli utenti possono selezionare un singolo valore. (If0148)

  • Dai un'occhiata al nuovo Compose per WearOS Codelab.

Modifiche alle API

  • Macrobenchmark ora ha un minSdkVersion pari a 23. (If2655)

Correzioni di bug

  • Aggiorna la gestione della transizione in ScorriIgnoraableNavHost in un Effetto collaterale (I04994, b/202863359)
  • Aggiorna la gestione della transizione in ScorriIgnoraableNavHost (I1cbe0, b/202863359)

Versione 1.0.0-alpha09

27 ottobre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha09, androidx.wear.compose:compose-material:1.0.0-alpha09 e androidx.wear.compose:compose-navigation:1.0.0-alpha09 vengono rilasciati. La versione 1.0.0-alpha09 contiene questi commit.

Nuove funzionalità

  • Abbiamo lanciato l'anteprima per gli sviluppatori di Compose su Wear OS. Leggi il post del nostro blog in cui sono esaminati i principali componenti componibili e contiene i link a ulteriori risorse per iniziare a utilizzarli.

Modifiche alle API

  • Abbiamo aggiunto il supporto per consentire agli sviluppatori di personalizzare tutti i colori nel tema colore e Material Design per Wear. (I4759b, b/199754668).

Correzioni di bug

  • Sono stati aggiunti esempi di SwipeToIgnoraBox con stato persistente (Ibaffe)
  • Sono stati aggiunti link alle guide developer.android.com da KDocs per CurvedText, TimeText e ScorriToDeployBox. (I399d4)
  • ScorriIgnoraableNavHost ora viene generato se non esiste una destinazione corrente (indica che NavGraph non è stato creato con la funzione di utilità wear.compose.navigation.composable (I91403)
  • Sono stati aggiunti esempi e documentazione aggiuntiva per l'utilizzo dell'origine temporale in TimeText (I4f6f0)

Versione 1.0.0-alpha08

13 ottobre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha08, androidx.wear.compose:compose-material:1.0.0-alpha08 e androidx.wear.compose:compose-navigation:1.0.0-alpha08 vengono rilasciati. La versione 1.0.0-alpha08 contiene questi commit.

Modifiche alle API

  • Abbiamo rinominato le proprietà AppCard e TitleCard body in content e le abbiamo spostate alla fine dell'elenco delle proprietà per poterle fornire come lambda finale. Inoltre, bodyColor è stato rinominato in contentColor per coerenza con i nuovi nomi degli slot. (I57e78).

Correzioni di bug

  • Sono stati aggiunti link alle guide developer.android.com da Documenti Google per pulsanti, schede, chip, temi, indicatori di posizione e scalabilità dei componenti delle colonne lazy. (I22428)
  • È stato risolto un problema che a volte non consente di gestire gli scorrimenti in WearOS. (I9387e).
  • Sono stati aggiunti esempi per Button, CompactButton, Chip, CompactChip, AppCard, TitleCard, ToggleButton, VPAIDChip, SplitToggleChip (Iddc15)
  • Sono stati aggiunti i test sulle prestazioni del microbenchmark per Card, Chip, FoldChip, TimeText e ScalingLazyColumn. (If2fe9)

Versione 1.0.0-alpha07

29 settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha07, androidx.wear.compose:compose-material:1.0.0-alpha07 e androidx.wear.compose:compose-navigation:1.0.0-alpha07 vengono rilasciati. La versione 1.0.0-alpha07 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto un componente CurvedText nel materiale, un componente che consente agli sviluppatori di scrivere facilmente testo curvo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare). (I19593)

Modifiche alle API

  • Test aggiunti per TimeText (Idfead)
  • Trasforma ArcPaddingValues in un'interfaccia. (Iecd4c).
  • È stata aggiunta l'animazione a SwipeToDismissBox (I9ad1b)
  • È stato aggiunto il parametro hasBackground all'API SwipeToBeforeBox in modo che il gesto di scorrimento possa essere disattivato quando non ci sono contenuti in background da visualizzare. (I313d8)
  • rememberNavController() ora utilizza un insieme facoltativo di istanze Navigator che verrà aggiunto alle NavController restituite per supportare meglio i navigatori facoltativi come quelli del materiale di navigazione accompagnato. (I4619e).
  • Fai riferimento a NamedNavArgument da navigation-common e rimuovi la copia da wear.compose.navigation. (I43af6).

Correzioni di bug

  • È stata corretta l'instabilità del test CurvedRow sui dispositivi più piccoli. (If7941)
  • È stato risolto il possibile sfarfallio su CurvedRow quando i contenuti vengono aggiornati e garantisce che la riga curva venga misurata nuovamente (Ie4e06)
  • ChipDefaults.gradientBackgroundChipColors() è stato aggiornato in linea con le modifiche alle specifiche UX. Il gradiente ora inizia con MaterialTheme.colors.primary con alfa al 32,5% e termina con MaterialTheme.colors.surface con alfa allo 0% su uno sfondo di MaterialTheme.colors.surface al 75% di alfa. (Id1548)
  • Abbiamo aggiornato i colori dei propri comandi a bilanciere nello stato selezionato in modo che corrispondano alle ultime indicazioni relative alle specifiche UX di Wear Material Design. Quando questa opzione è selezionata, ora ha uno sfondo sfumato da MaterialTheme.color.surface allo 0% alpha, in alto a sinistra, a MaterialTheme.color.primary al 32% alfa, in basso a destra, su uno sfondo di MaterialTheme.color.surface al 75% alfa. Ciò si traduce in una differenza più sottile tra gli elementi selezionati e quelli deselezionati per il FoldChip. (Idd40b)

Versione 1.0.0-alpha06

15 settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha06, androidx.wear.compose:compose-material:1.0.0-alpha06 e androidx.wear.compose:compose-navigation:1.0.0-alpha06 vengono rilasciati. La versione 1.0.0-alpha06 contiene questi commit.

Nuove funzionalità

  • Abbiamo aggiunto Scaffold, un'applicazione componibile di primo livello che fornisce una struttura per la gestione della posizione degli indicatori di posizione (come lo scorrimento o il volume), un'area nella parte superiore dello schermo per la visualizzazione dell'ora e dello stato dell'applicazione e supporta anche una vignettatura per sfocare il bordo superiore e inferiore dello schermo per i contenuti scorrevoli. L'area principale dell'impalcatura è il punto in cui vengono posizionati i contenuti dell'applicazione. (I5e0bf)
  • Aggiunta l'implementazione di TimeText per Wear Compose (I5654c)

Libreria di navigazione di Compose per Wear

  • Abbiamo aggiunto la prima release della libreria di navigazione Wear Compose, che offre l'integrazione tra le librerie di navigazione Wear Compose e Androidx. Offre un mezzo semplice per navigare tra le funzioni @Composable come destinazioni della tua applicazione.

  • Questa release iniziale fornisce:

    • Un componibile SwipeDismissableNavHost che ospita un grafico di navigazione e consente di spostarsi a ritroso tramite gesti di scorrimento
    • Estensione NavGraphBuilder.composable per facilitare la creazione di grafici di navigazione
    • rememberSwipeDismissableNavController() per consentire lo stato di sollevamento
  • Esempio di utilizzo in cui creiamo due schermate e passiamo da una all'altra:

    val navController = rememberSwipeDismissableNavController()
    SwipeDismissableNavHost(
        navController = navController,
        startDestination = "start"
    ) {
        composable("start") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Button(onClick = { navController.navigate("next") }) {
                    Text("Go")
                }
            }
        }
        composable("next") {
            Column(
                horizontalAlignment = Alignment.CenterHorizontally,
                verticalArrangement = Arrangement.Center,
                modifier = Modifier.fillMaxSize(),
            ) {
                Text("Swipe to go back")
            }
        }
    }
    
  • Wear Compose Navigation è pacchettizzato come libreria separata per fare in modo che le semplici applicazioni WearCompose che implementano la propria navigazione manuale non debbano dipendere dalla libreria di navigazione Androidx.

Modifiche alle API

  • Aggiornamento di SwipeDismissableNavHost per supportare rememberSaveable mediante l'impostazione dell'identità chiave per lo sfondo e i contenuti (I746fd)
  • Abbiamo aggiunto un adattatore PositionIndicator in grado di gestire LazyListState (I21b88)
  • Scorrimento per ignorare l'opzione Scorrimento riuscito aggiornato per supportare l'opzione ricordabile (Ie728b)
  • Abbiamo aggiunto il supporto reverseLayout a ScalingLazyColumn. Ciò consente di invertire la direzione dello scorrimento e del layout (I9e2fc)
  • performGesture e GestureScope deprecati, che sono stati sostituiti da performTouchInput e TouchInjectionScope. (Ia5f3f, b/190493367).
  • Abbiamo rinominato VignetteValue in VignettePosition e abbiamo rinominato VignetteValue.Both in VignettePosition.TopAndBottom. (I57ad7)
  • Abbiamo rinominato ScalingLazyColumnState in ScalingLazyListState, ScalingLazyColumnItemInfo in ScalingLazyListItemInfo, ScalingLazyColumnLayoutInfo in ScalingLazyListLayoutInfo e ScalingLazyColumnScope in ScalingLazyListScope, nel caso in cui decidessimo di aggiungere un'implementazione ScalingLazyRow in futuro. (I22734)

Correzioni di bug

  • La documentazione di CompactChip è stata aggiornata per descrivere cosa succede se non viene fornita né un'icona né un'etichetta. (I4ba88).
  • Abbiamo apportato alcune modifiche ai componenti della scheda Wear. (I6b3d0)
    1. Spaziatura intertitolo tra Titolo e Corpo ridotta da 8.dp a 2.dp.
    2. Carattere dell'intestazione della scheda del titolo cambiato dal corpo al titolo 3.
    3. Gradiente di sfondo della scheda modificato per rendere lo sfondo più scuro.

Versione 1.0.0-alpha05

1° settembre 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha05 e androidx.wear.compose:compose-material:1.0.0-alpha05 vengono rilasciati. La versione 1.0.0-alpha05 contiene questi commit.

Modifiche alle API

  • Contrassegna ArcPaddingValues come @Stable (I57deb)
  • ScalingLazyColumnState ora implementa l'interfaccia scrollableState, che fornisce agli sviluppatori l'accesso programmatico per far scorrere il componente. (I47dbc)

Correzioni di bug

  • Abbiamo ridotto la spaziatura tra l'icona e il testo in chip e Attiva/Disattiva Chip per allinearli agli aggiornamenti delle specifiche UX. (I83802)

Versione 1.0.0-alpha04

18 agosto 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha04 e androidx.wear.compose:compose-material:1.0.0-alpha04 vengono rilasciati. La versione 1.0.0-alpha04 contiene questi commit.

Nuove funzionalità

  • Sono stati aggiunti un volume Scorri per ignorare e un modificatore di scorrimento che è possibile usare per supportare il gesto di scorrimento da sinistra a destra per ignorare. Sebbene sia indipendente dai componenti di navigazione, questa opzione dovrebbe essere utilizzata per uscire da una schermata e passare a un'altra. Sono stati aggiunti test di integrazione per la dimostrazione dello scorrimento per ignorare l'annuncio. (I7bbaa).
  • Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo inoltre corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando viene applicata la spaziatura interna dei contenuti "in alto" a ScalingLazyColumn. (I27c07).

Modifiche alle API

  • Aggiungi la classe CurvedTextStyle per specificare le opzioni di stile del testo curvo. Simile a TextStyle, ma ora supporta solo color, fontSize e background. In futuro verranno aggiunte altre opzioni di stile. (I96ac3)
  • Abbiamo aggiunto le interfacce ScalingLazyColumnItemInfo e ScalingLazyColumnLayoutInfo alla classe ScalingLazyColumnState per consentire agli sviluppatori di conoscere le posizioni e le dimensioni effettive degli elementi in ScalingLazyColumn dopo l'applicazione della scalabilità. Abbiamo inoltre corretto un bug relativo al modo in cui veniva calcolato il ridimensionamento quando viene applicata la spaziatura interna dei contenuti "in alto" a ScalingLazyColumn. (I27c07).
  • Aggiunto @ExperimentalWearMaterialApi all'enumerazione SwipeDismissTarget, parte dell'API SwipeToDismissBox. (I48b5e).

Correzioni di bug

  • È stato aggiunto il materiale di test per SwipeToDismissBox (I9febc)

Versione 1.0.0-alpha03

4 agosto 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha03 e androidx.wear.compose:compose-material:1.0.0-alpha03 vengono rilasciati. La versione 1.0.0-alpha03 contiene questi commit.

Modifiche alle API

  • Aggiunto il componente CurvedText, che consente agli sviluppatori di scrivere facilmente testo seguendo la curvatura di un cerchio (di solito sul bordo di uno schermo circolare) (Id1267)
  • Abbiamo rinominato CardDefaults.imageBackgroundPainter() in CardDefaults.imageWithScrimBackgroundPainter() per chiarire che l'immagine di sfondo con un reticolo disegnato. (I53206)
  • Aggiunta del componente ScalingLazyColumn che fornisce un componente elenco per il materiale di Wear che offre una visualizzazione fisheye con i contenuti dell'elenco che vengono ridimensionati e diventano trasparenti se scalati verso il bordo del componente. (I7070c)

Correzioni di bug

  • Abbiamo modificato il colore predefinito dei contenuti di appName in AppCard in risposta a un aggiornamento delle specifiche UX. Il colore predefinito di appName è ora MaterialTheme.colors.onSurfaceVariant. È stata inoltre aggiunta una descrizione del documento dei parametri mancante per l'area del titolo. (Ic4ad1)

Versione 1.0.0-alpha02

21 luglio 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha02 e androidx.wear.compose:compose-material:1.0.0-alpha02 vengono rilasciati. La versione 1.0.0-alpha02 contiene questi commit.

Nuove funzionalità

  • È stata aggiunta una nuova classe CurvedRow per disporre i componibili in un arco (I29941)
  • È stato aggiunto un nuovo tipo di schede da utilizzare nelle applicazioni (TitleCard); è stato inoltre aggiunto il supporto dell'utilizzo di immagini come sfondo per le schede per metterne in evidenza i contenuti (I53b0f)

Modifiche alle API

  • Aggiungi il supporto per l'allineamento radiale a CurvedRow (simile all'allineamento verticale in una riga) (Id9de5)
  • Aggiungi una nuova classe CurvedRow per disporre i componibili in un arco (I29941)
  • È stato aggiunto un nuovo tipo di schede da utilizzare nelle applicazioni (TitleCard); è stato inoltre aggiunto il supporto dell'utilizzo di immagini come sfondo per le schede per metterne in evidenza i contenuti (I53b0f)
  • Aggiunta di icone di attivazione/disattivazione (casella di controllo, opzione e pulsanti di opzione) a Attivazione/disattivazioneChipDefaults per semplificare la configurazione di Attivazione/disattivazioneChip e SplitToggleChips (I7b639)
  • La spaziatura interna dei contenuti di inizio e fine per i chip è stata aggiornata in modo da essere costantemente pari a 14.dp indipendentemente dalla presenza o meno di un'icona nel chip (in precedenza era 12.dp se l'icona era presente e 14.dp in caso contrario) (I34c86)

Correzioni di bug

  • Aggiungere test per CurvedRow (I93cdb)
  • Collegamento delle dipendenze di Wear Compose a Compose 1.0.0-rc01. (Ie6bc9).
  • È stata modificata la gestione del disegno dell'immagine di sfondo in Schede e chip in modo che l'immagine venga ritagliata anziché allungata per mantenere le proporzioni dell'immagine. (I29b41).
  • Sono state aggiunte altre demo e test di integrazione per Pulsante e Pulsante Pulsante. (5e27ed2).
  • Sono stati aggiunti altri test del chip per coprire i colori dei contenuti di imageBackgroundChips (Ia9183)

Versione 1.0.0-alpha01

1° luglio 2021

androidx.wear.compose:compose-foundation:1.0.0-alpha01 e androidx.wear.compose:compose-material:1.0.0-alpha01 vengono rilasciati. La versione 1.0.0-alpha01 contiene questi commit.

Nuove funzionalità

Wear Compose è una libreria basata su Kotlin, Compose, che supporta il design Wear Material Design, un'estensione di Material Design per gli indossabili WearOS. Questa prima versione alpha contiene implementazioni iniziali e funzionali dei seguenti elementi:

  • Tema Material: consente di configurare colori, tipografia e forme in modo coerente tra i componenti utilizzati da questa libreria.
  • Chip, CompactChip: le fiches hanno la forma di uno stadio e sono disponibili varianti per prendere i contenuti di icone, etichette ed etichette secondarie.
  • - Attivazione/disattivazione, SplitToggleChip: un tipo specializzato di chip che include uno slot per un'icona di attivazione/disattivazione a due stati, ad esempio un pulsante di opzione o una casella di controllo. Inoltre, SplitToggleChip ha due aree toccabili, una cliccabile e una attivabile.
  • Pulsante, CompactButton: i pulsanti hanno forma circolare, con un'unica fessura per i contenuti che può contenere un'icona o testo minimo (massimo 3 caratteri).
  • Pulsante di attivazione/disattivazione: un pulsante che attiva o disattiva un'azione, con un'unica area per l'icona o testo minimo (massimo 3 caratteri).
  • Scheda, AppCard: di forma rettangolare con angoli arrotondati e offre slot per contenuti quali l'icona dell'app, l'ora, il titolo e il corpo.

Le versioni future estenderanno il set di widget aggiungendo il supporto per selettori, dispositivi di scorrimento, elenchi, indicatori di pagina, finestre di dialogo, indicatori dell'rsb di scorrimento, toast e altro ancora.

Verrà inoltre fornito supporto per altre funzionalità specifiche per i dispositivi indossabili, come layout curvi e testo, oltre a impalcature che semplificano la creazione di app/overlay indossabili per gli sviluppatori.

Wear Compose Material è stato progettato con gli stessi principi di Compose Material, anche se è rivolto agli indossabili. La raccolta Compose Material di Wear deve essere utilizzata al posto della raccolta Compose Material durante la creazione di un dispositivo indossabile.

Le due librerie "Material" devono essere considerate che si escludono a vicenda e non devono essere combinate nella stessa app. Se gli sviluppatori si ritrovano a includere la libreria Compose Material nelle loro dipendenze, ciò suggerirà che a) manchino alcuni componenti nella libreria di Wear Compose Material, comunicaci cosa ti serve oppure b) stiano usando un componente che sconsigliamo di usare su un dispositivo indossabile.