@@ -28,6 +28,7 @@ import androidx.compose.foundation.lazy.LazyColumn
28
28
import androidx.compose.foundation.lazy.items
29
29
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
30
30
import androidx.compose.material3.MaterialTheme
31
+ import androidx.compose.material3.Slider
31
32
import androidx.compose.material3.Text
32
33
import androidx.compose.material3.VerticalDragHandle
33
34
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
@@ -39,6 +40,7 @@ import androidx.compose.material3.adaptive.layout.rememberPaneExpansionState
39
40
import androidx.compose.material3.adaptive.navigation.rememberSupportingPaneScaffoldNavigator
40
41
import androidx.compose.runtime.Composable
41
42
import androidx.compose.runtime.getValue
43
+ import androidx.compose.runtime.mutableIntStateOf
42
44
import androidx.compose.runtime.mutableStateOf
43
45
import androidx.compose.runtime.remember
44
46
import androidx.compose.runtime.rememberCoroutineScope
@@ -47,6 +49,7 @@ import androidx.compose.runtime.setValue
47
49
import androidx.compose.ui.Alignment
48
50
import androidx.compose.ui.Modifier
49
51
import androidx.compose.ui.res.stringResource
52
+ import androidx.compose.ui.text.style.TextAlign
50
53
import androidx.compose.ui.unit.dp
51
54
import com.example.supportingpanecompose.R
52
55
import kotlinx.coroutines.launch
@@ -67,6 +70,7 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
67
70
var selectedTopic: String by rememberSaveable { mutableStateOf(data.keys.first()) }
68
71
val navigator = rememberSupportingPaneScaffoldNavigator()
69
72
val scope = rememberCoroutineScope()
73
+ var preferredWidthInDp by rememberSaveable { mutableIntStateOf(300 ) }
70
74
71
75
BackHandler (enabled = navigator.canNavigateBack()) {
72
76
scope.launch {
@@ -80,7 +84,9 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
80
84
modifier = modifier,
81
85
supportingPane = {
82
86
AnimatedPane (
83
- modifier = Modifier .padding(all = 16 .dp)
87
+ modifier = Modifier
88
+ .padding(all = 16 .dp)
89
+ .preferredWidth(preferredWidthInDp.dp)
84
90
) {
85
91
Column {
86
92
Text (
@@ -143,6 +149,24 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
143
149
.padding(16 .dp)
144
150
)
145
151
}
152
+
153
+ Text (
154
+ text = stringResource(R .string.preferred_width_label),
155
+ modifier = modifier
156
+ .padding(top = 48 .dp)
157
+ .padding(horizontal = 24 .dp),
158
+ textAlign = TextAlign .Center ,
159
+ style = MaterialTheme .typography.titleLarge
160
+ )
161
+ Slider (
162
+ value = preferredWidthInDp.toFloat(),
163
+ modifier = Modifier
164
+ .padding(top = 16 .dp)
165
+ .padding(horizontal = 24 .dp),
166
+ valueRange = (250f .. 450f ),
167
+ onValueChange = { preferredWidthInDp = it.toInt() }
168
+ )
169
+ Text (text = preferredWidthInDp.toString())
146
170
}
147
171
},
148
172
paneExpansionState = rememberPaneExpansionState(navigator.scaffoldValue),
0 commit comments