Skip to content

Commit 1771a22

Browse files
authored
Merge pull request #2 from android/supporting_pane_preferred_width
Supporting pane preferred width
2 parents fc04835 + 50528b6 commit 1771a22

File tree

2 files changed

+26
-1
lines changed

2 files changed

+26
-1
lines changed

CanonicalLayouts/supporting-pane-compose/app/src/main/java/com/example/supportingpanecompose/ui/SupportingPaneSample.kt

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,7 @@ import androidx.compose.foundation.lazy.LazyColumn
2828
import androidx.compose.foundation.lazy.items
2929
import androidx.compose.material3.LocalMinimumInteractiveComponentSize
3030
import androidx.compose.material3.MaterialTheme
31+
import androidx.compose.material3.Slider
3132
import androidx.compose.material3.Text
3233
import androidx.compose.material3.VerticalDragHandle
3334
import androidx.compose.material3.adaptive.ExperimentalMaterial3AdaptiveApi
@@ -39,6 +40,7 @@ import androidx.compose.material3.adaptive.layout.rememberPaneExpansionState
3940
import androidx.compose.material3.adaptive.navigation.rememberSupportingPaneScaffoldNavigator
4041
import androidx.compose.runtime.Composable
4142
import androidx.compose.runtime.getValue
43+
import androidx.compose.runtime.mutableIntStateOf
4244
import androidx.compose.runtime.mutableStateOf
4345
import androidx.compose.runtime.remember
4446
import androidx.compose.runtime.rememberCoroutineScope
@@ -47,6 +49,7 @@ import androidx.compose.runtime.setValue
4749
import androidx.compose.ui.Alignment
4850
import androidx.compose.ui.Modifier
4951
import androidx.compose.ui.res.stringResource
52+
import androidx.compose.ui.text.style.TextAlign
5053
import androidx.compose.ui.unit.dp
5154
import com.example.supportingpanecompose.R
5255
import kotlinx.coroutines.launch
@@ -67,6 +70,7 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
6770
var selectedTopic: String by rememberSaveable { mutableStateOf(data.keys.first()) }
6871
val navigator = rememberSupportingPaneScaffoldNavigator()
6972
val scope = rememberCoroutineScope()
73+
var preferredWidthInDp by rememberSaveable { mutableIntStateOf(300) }
7074

7175
BackHandler(enabled = navigator.canNavigateBack()) {
7276
scope.launch {
@@ -80,7 +84,9 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
8084
modifier = modifier,
8185
supportingPane = {
8286
AnimatedPane(
83-
modifier = Modifier.padding(all = 16.dp)
87+
modifier = Modifier
88+
.padding(all = 16.dp)
89+
.preferredWidth(preferredWidthInDp.dp)
8490
) {
8591
Column {
8692
Text(
@@ -143,6 +149,24 @@ fun SupportingPaneSample(modifier: Modifier = Modifier) {
143149
.padding(16.dp)
144150
)
145151
}
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())
146170
}
147171
},
148172
paneExpansionState = rememberPaneExpansionState(navigator.scaffoldValue),

CanonicalLayouts/supporting-pane-compose/app/src/main/res/values/strings.xml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,4 +18,5 @@
1818
<string name="app_name">SupportingPaneCompose</string>
1919
<string name="related_content_label">Related Content</string>
2020
<string name="main_content_label">Main Content</string>
21+
<string name="preferred_width_label">Preferred Width of the side panel</string>
2122
</resources>

0 commit comments

Comments
 (0)