@@ -39,6 +39,7 @@ import androidx.wear.compose.material3.lazy.rememberTransformationSpec
3939import androidx.wear.compose.material3.lazy.transformedHeight
4040import androidx.wear.compose.ui.tooling.preview.WearPreviewDevices
4141import androidx.wear.compose.ui.tooling.preview.WearPreviewFontScales
42+ import androidx.wear.compose.foundation.rotary.RotaryScrollableDefaults
4243
4344
4445@Composable
@@ -100,7 +101,8 @@ fun SnapAndFlingComposeList() {
100101 ScreenScaffold (scrollState = columnState) {
101102 TransformingLazyColumn (
102103 state = columnState,
103- flingBehavior = TransformingLazyColumnDefaults .snapFlingBehavior(columnState)
104+ flingBehavior = TransformingLazyColumnDefaults .snapFlingBehavior(columnState),
105+ rotaryScrollableBehavior = RotaryScrollableDefaults .snapBehavior(columnState)
104106 ) {
105107 // ...
106108 // [START_EXCLUDE]
@@ -130,6 +132,50 @@ fun SnapAndFlingComposeList() {
130132 // [END android_wear_snap]
131133}
132134
135+ @Composable
136+ fun EnhancedComposeList () {
137+ // [START android_wear_tlc_reverse]
138+ val columnState = rememberTransformingLazyColumnState()
139+ val transformationSpec = rememberTransformationSpec()
140+ ScreenScaffold (scrollState = columnState) { contentPadding ->
141+ TransformingLazyColumn (
142+ state = columnState,
143+ contentPadding = contentPadding,
144+ reverseLayout = true ,
145+ modifier = Modifier .fillMaxWidth()
146+ ) {
147+ items(10 ) { index ->
148+ Button (
149+ label = {
150+ Text (
151+ text = " Item ${index + 1 } "
152+ )
153+ },
154+ onClick = {},
155+ modifier = Modifier
156+ .fillMaxWidth()
157+ .transformedHeight(this , transformationSpec)
158+ .minimumVerticalContentPadding(ButtonDefaults .minimumVerticalListContentPadding),
159+ transformation = SurfaceTransformation (transformationSpec)
160+ )
161+ }
162+ item {
163+ // With reverseLayout = true, the last item declared appears at the top.
164+ ListHeader (
165+ modifier = Modifier
166+ .fillMaxWidth()
167+ .transformedHeight(this , transformationSpec)
168+ .minimumVerticalContentPadding(ListHeaderDefaults .minimumTopListContentPadding),
169+ transformation = SurfaceTransformation (transformationSpec)
170+ ) {
171+ Text (" Header" )
172+ }
173+ }
174+ }
175+ }
176+ // [END android_wear_tlc_reverse]
177+ }
178+
133179// [START android_wear_list_breakpoint]
134180const val LARGE_DISPLAY_BREAKPOINT = 225
135181
0 commit comments