Compose Material 3 Adaptive

  
Utilizza la libreria adattiva Material 3 per creare UI adattabili che si adatteranno automaticamente in base alle configurazioni della finestra corrente, come le classi di dimensioni della finestra o le posizioni del dispositivo. La libreria fornisce sia le implementazioni predefinite dello scafo sia i componenti composibili dei componenti di base necessari per creare le tue esperienze personalizzate.
Ultimo aggiornamento Release stabile Candidato per la release Versione beta Versione alpha
12 dicembre 2024 1.0.0 - - 1.1.0-alpha08

Dichiarazione delle dipendenze

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

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

Alla moda

dependencies {
    implementation "androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

Kotlin

dependencies {
    implementation("androidx.compose.material3.adaptive:adaptive:1.1.0-alpha02")
    implementation "androidx.compose.material3.adaptive:adaptive-layout:1.1.0-alpha02"
    implementation "androidx.compose.material3.adaptive:adaptive-navigation:1.1.0-alpha02"
}

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

Feedback

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

Creare un nuovo problema

Per ulteriori informazioni, consulta la documentazione del Monitoraggio problemi.

Compose Material3 Adaptive versione 1.1

Versione 1.1.0-alpha08

12 dicembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha08 viene rilasciato. La versione 1.1.0-alpha08 contiene questi commit.

Modifiche all'API

  • Presenta la funzione currentWindowDpSize. (I99125, b/296300441)
  • Esponi PaneScaffoldParentData e ThreePaneScaffoldHorizontalOrder.toLtrOrder() (I2d6b7)
  • Rimuovi PaneScaffoldMotionScope e trasformalo in un campo in PaneScaffoldTransitionScope. Rinominalo anche in PaneScaffoldMotionDataProvider e rimuovi l'accesso alla struttura di dati sottostante di PaneMotionData. Fornisci invece metodi di assegnazione e looping per accedere ai dati. (Id8884)
  • Crea un meccanismo di override per ThreePaneScaffold per supportare le implementazioni del sideload per diversi fattori di forma. (I5280f)
  • Per impostazione predefinita, lo stato di espansione del riquadro è nullo (Ia65f8, b/376394520)

Versione 1.1.0-alpha07

13 novembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha07 viene rilasciato. La versione 1.1.0-alpha07 contiene questi commit.

Modifiche all'API

  • Rimuovi l'implementazione dell'handle di trascinamento nella libreria adattiva e incoraggia gli utenti a utilizzare la versione M3. Allo stesso tempo, viene introdotto un modificatore per fornire la possibilità di trascinare l'espansione del riquadro a un composable dell'handle di trascinamento fornito. Nascondi anche DraggableState come dettaglio di implementazione, in modo da poterlo modificare in un secondo momento, se necessario. (Ib50cd)
  • Sposta il punto di ingresso della personalizzazione del movimento del riquadro dalle funzioni di struttura a AnimatedPane in base al feedback degli utenti. (I10f72)
  • È stato introdotto il supporto del gesto di lancio e le specifiche di animazione personalizzata per l'espansione del riquadro. (Ie207d, b/362584341)

Correzioni di bug

  • Risolvere i problemi relativi al backup predittivo in caso di annullamento. (36a3e0a), (b/369899645)

Versione 1.1.0-alpha06

30 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha06 viene rilasciato. La versione 1.1.0-alpha06 contiene questi commit.

Modifiche all'API

  • Aggiungi FloatRange a PaneScaffoldTransitionScope.motionProgress. (Iac0dd)
  • Modifica il tipo di parametri navigator in tipi generici negli schemi navigabili. (I1da6e)

Versione 1.1.0-alpha05

16 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha05 viene rilasciato. La versione 1.1.0-alpha05 contiene questi commit.

Modifiche all'API

  • È stato introdotto il tipo di animazione per garantire un comportamento più coerente dei movimenti e l'espandibilità futura. (I2d3cc)
  • Specifica il tipo di movimento e rinomina currentXXXXX in PaneMotionData in originXXXX. (I7c61a)

Versione 1.1.0-alpha04

2 ottobre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha04 viene rilasciato. La versione 1.1.0-alpha04 contiene questi commit.

Nuove funzionalità

  • È stato aggiunto il supporto del gesto indietro predittivo a NavigableListDetailPaneScaffold e NavigableSupportingPaneScaffold. (I4dc21, b/359616816)

Modifiche all'API

  • ThreePaneScaffoldState aggiunto a ThreePaneScaffoldNavigator. I metodi di navigazione sono stati suspend per supportare la navigazione con animazione. È stato aggiunto seekBack per supportare gli stati di navigazione parziale (ad es. Indietro predittivo). (I5a651, b/359616816)
  • È stato aggiunto MutableThreePaneScaffoldState per controllare la transizione tra i valori dello schema. Il ThreePaneScaffoldState esistente è stato impostato come di sola lettura. (Idb3c6)
  • Esporre le implementazioni del movimento del riquadro predefinito (I95a7b)
  • Attiva l'impostazione dell'ancora iniziale dello stato di espansione del riquadro (Ie41b3, b/362350560)

Correzioni di bug

  • Applicare una dimensione minima del target di tocco del cursore di trascinamento di 48 x 48 dp (7ce6635, b/366018217)
  • Ripristinare la posizione ancorata dopo le modifiche alla configurazione (3c9fc6b, b/362353672)

Versione 1.1.0-alpha03

18 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha03 viene rilasciato. La versione 1.1.0-alpha03 contiene questi commit.

Versione 1.1.0-alpha02

4 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha02 viene rilasciato. La versione 1.1.0-alpha02 contiene questi commit.

Nuove funzionalità

  • La personalizzazione dei movimenti (I0bf9c), (I80e66) è supportata per consentire ai creator di modificare i movimenti predefiniti durante le modifiche dello stato dell'impalcatura adattiva. I creator possono scegliere tra una serie di transizioni di entrata e di uscita predefinite oppure implementare transizioni completamente personalizzate con le informazioni fornite tramite i nuovi ambiti di movimento.
  • Implementare l'animazione di dissolvenza dei punti di trascinamento per l'espansione del riquadro (46e3c69)
  • Rendere salvabile PaneExpansionState memorizzato (61ff76f)

Modifiche all'API

  • Aggiungere le API di espansione del riquadro mancanti agli scaffalature (Ic5bc0)
  • ThreePaneScaffoldDestinationItem.content è stato rinominato in contentKey. L'argomento di tipo predefinito rememberListDetailPaneScaffoldNavigator e rememberSupportingPaneScaffoldNavigator è passato da Nothing a Any. (I58749)
  • Contrassegna ThreePaneScaffoldState come stabile (I64aec)
  • Impostare i parametri dell'handle di trascinamento in base all'ambito (Ic0aa2)

Versione 1.1.0-alpha01

21 agosto 2024

androidx.compose.material3.adaptive:adaptive-*:1.1.0-alpha01 viene rilasciato. La versione 1.1.0-alpha01 contiene questi commit.

Nuove funzionalità

  • È stato introdotto il supporto dell'espansione dei riquadri degli schemi adattivi.

Modifiche all'API

  • Introduzione delle API di espansione del riquadro al pubblico (I301d6)
  • È stato introdotto ThreePaneScaffoldState per controllare le transizioni dei valori del riquadro. Sono stati aggiunti sovraccarichi di ListDetailPaneScaffold e SupportingPaneScaffold che accettano questo stato. (I5db3b)
  • Introduzione della chiave di espansione del riquadro e dell'interfaccia del provider di chiavi (Id621f)

Correzioni di bug

  • Correzione del calcolo errato della partizione quando è presente un giunto escluso. (9dfd483)

Compose Material3 Adaptive versione 1.0

Versione 1.0.0

4 settembre 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0 viene rilasciato. La versione 1.0.0 contiene questi commit.

Funzionalità principali della versione 1.0.0

Versione 1.0.0-rc01

21 agosto 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-rc01 viene rilasciato. La versione 1.0.0-rc01 contiene questi commit.

Correzioni di bug

  • Correzione del calcolo errato della partizione quando è presente un giunto escluso. (9dfd483)

Versione 1.0.0-beta04

26 giugno 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta04 viene rilasciato. La versione 1.0.0-beta04 contiene questi commit.

Correzioni di bug

  • È stato risolto il problema per cui, quando i limiti della cerniera vengono aggiornati, il layout non viene aggiornato di conseguenza. (71e9cf1)

Versione 1.0.0-beta03

12 giugno 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta03 viene rilasciato. La versione 1.0.0-beta03 contiene questi commit.

Correzioni di bug

  • Corregge gli arresti anomali causati dalla risoluzione errata delle dipendenze nella versione beta02.

Versione 1.0.0-beta02

29 maggio 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta02 viene rilasciato. La versione 1.0.0-beta02 contiene questi commit.

Versione 1.0.0-beta01

14 maggio 2024

androidx.compose.material3.adaptive:adaptive-*:1.0.0-beta01 viene rilasciato. La versione 1.0.0-beta01 contiene questi commit.

Versione 1.0.0-alpha12

1° maggio 2024

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

Modifiche all'API

  • Aggiungi informazioni su isFlat a HingeInfo (Ie0516, b/333784198)
  • Rendere le API adattive non sperimentali (I1d038)
  • Rendere le API di layout adattivo non sperimentali (Id23df)
  • BackNavigationBehavior è passato da un enum a una classe di valori (Id8757)

Correzioni di bug

  • Modificare la frazione di transizione in un lambda (I6f5a9)
  • Risolvere il problema relativo allo stato iniziale di SizeTracker (18326a9)
  • Includi l'elenco di cerniere nel controllo di uguaglianza Posture (6687137)

Versione 1.0.0-alpha11

17 aprile 2024

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

Modifiche all'API

  • Rendi sigillate le interfacce di ambito. (Iefa57)
  • Presenta AnimatedPaneScope. (I62d73, b/332750742)
  • Assicurati che AdaptStrategy sia sigillato e stabile. (Ia28b2)
  • Introduci un metodo di copia di PaneScaffoldDirective. (I9291f)
  • Contrassegna ThreePaneScaffoldScope come sperimentale. (I9d527)
  • Fornisci API di scaffolding facili da usare che supportano la navigazione. (I263f0, b/321010778)

Versione 1.0.0-alpha10

3 aprile 2024

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

Modifiche all'API

  • Rendi la larghezza predefinita preferita adattabile e personalizzabile. (Ic3abc)
  • Rinomina le funzioni di calcolo delle direttive di struttura. (I10855)
  • Rimuovi spaziatura interna e rientranze dalle API di struttura. (I786f8)
  • Aggiungi metodi di memorizzazione del navigatore senza tipi generici. (I607c3)

Versione 1.0.0-alpha09

20 marzo 2024

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

Modifiche all'API

  • Aggiungi i campi di transizione di stato a ThreePaneScaffoldScope. (I3d917)
  • Riordina i parametri dello scafo. (I4dff5)
  • Fornisci il valore predefinito del parametro modificatore AnimatedPane. (I77dd7)

Correzioni di bug

  • Includi le dimensioni degli spaziatori nei movimenti dei riquadri. (a3174ca)

Versione 1.0.0-alpha08

6 marzo 2024

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

Nuove funzionalità

  • Implementazione di uno scorrimento ritardato quando si cambia riquadro. (I1a38e)

Modifiche all'API

  • Interfaccia ThreePaneScaffoldState rimossa. (I63f23)

Versione 1.0.0-alpha07

21 febbraio 2024