我想把一个LazyRow
加到一个没有指定宽度的Column
上.(通常我只做.fillMaxWidth()
,但我希望宽度取决于内容)
问题是它增加了列的宽度.
@Composable
fun Test() {
val items = listOf("Item 1", "Item 2", "Item 3", "Item 4")
Column(
modifier = Modifier.background(Color.Yellow)
) {
Text("Title", style = MaterialTheme.typography.titleLarge)
LazyRow {
items(items){
Text(text = it)
}
}
}
}
@Preview
@Composable
fun TestPreview() {
Test()
}
如果没有LazyRow
,有没有可能得到Column
的宽度?
编辑:类似于DropdownMenu
中的Slider
@Composable
fun Test() {
val items = listOf("Item 1", "Item 2", "Item 3", "Item 4")
var expanded by remember {
mutableStateOf(false)
}
Box {
Button(onClick = { expanded = true}) {
Text(text = "Open dropdown")
}
DropdownMenu(
modifier = Modifier
.heightIn(max = 200.dp),
expanded = expanded,
onDismissRequest = { expanded = false })
{
Column {
Text("Short text", style = MaterialTheme.typography.titleLarge)
Slider(value = 0.5f, onValueChange = {})
Row(
modifier = Modifier.horizontalScroll(rememberScrollState())
) {
items.forEach {
Text(text = it)
}
}
}
}
}
}