Mithilfe von Listen können Nutzer auf Wear OS-Geräten einen Artikel aus einer Reihe von Optionen auswählen.
Viele Wear OS-Geräte haben runde Displays, wodurch die Sichtbarkeit erschwert wird
Elemente aufgelistet, die oben und unten auf dem Bildschirm angezeigt werden. Aus diesem Grund
Compose for Wear OS enthält eine Version der LazyColumn
-Klasse namens
ScalingLazyColumn
für Skalierungs- und Ausblendungseffekte Wenn Elemente
zur Bildschirmmitte bewegen, werden sie größer und undurchsichtiger.
Die folgende Animation zeigt, wie sich Größe und Transparenz eines Elements wie er sich auf dem Bildschirm bewegt:
Das folgende Code-Snippet zeigt, wie Sie mithilfe der Funktion
ScalingLazyColumn
-Layouts, um Inhalte zu erstellen, die
sieht gut auf verschiedenen Wear OS-Bildschirmgrößen aus, zum Beispiel in der
Beispiel unten wird der erforderliche Abstand zwischen dem ersten und dem letzten Element
der Liste, die in den scrollState
der ScalingLazyColumn
festgelegt sind:
val columnState = rememberResponsiveColumnState( contentPadding = ScalingLazyColumnDefaults.padding( first = ScalingLazyColumnDefaults.ItemType.Text, last = ScalingLazyColumnDefaults.ItemType.SingleButton ) ) ScreenScaffold(scrollState = columnState) { ScalingLazyColumn( columnState = columnState ) { item { ResponsiveListHeader(contentPadding = firstItemPadding()) { Text(text = "Header") } } // ... other items item { Button( imageVector = Icons.Default.Build, contentDescription = "Example Button", onClick = { } ) } } }
Snap-and-Schiebe-Effekt hinzufügen
Sie können den Fingergesten, die der Nutzer anwendet, eine Funktion zum Andocken und Kippen hinzufügen.
auf ScalingLazyColumn
Objekte. Dieser Effekt hilft Nutzenden, sich
die Elemente in einer Liste durchgehen und gleichzeitig
schneller durch eine Liste navigieren können.
lange Liste.
So fügst du der Horologenversion von ScalingLazyColumn
diesen Effekt hinzu:
rotaryMode
von columnState
auf
RotaryWithSnap
, wie im folgenden Code-Snippet gezeigt:
val columnState = rememberResponsiveColumnState( // ... // ... rotaryMode = ScalingLazyColumnState.RotaryMode.Snap ) ScreenScaffold(scrollState = columnState) { ScalingLazyColumn( columnState = columnState ) { // ... // ... } }
Empfehlungen für dich
- Hinweis: Der Linktext wird angezeigt, wenn JavaScript deaktiviert ist.
- Für Wear OS-Codelab erstellen
- Listen und Raster
- Ansichten in „Compose“ verwenden