我有一个可以用作选择的 Dropdown
组合视图。
@Composable
fun <T> DropdownDemo(modifier: Modifier, items: List<T>, selected: MutableState<T>) {
var expanded by remember { mutableStateOf(false) }
Box(modifier = modifier.fillMaxWidth()) {
Text(
selected.value.toString(),
modifier = Modifier
.background(Color.LightGray)
.fillMaxWidth()
.clickable(
onClick = { expanded = true })
.padding(16.dp, 0.dp)
)
DropdownMenu(
expanded = expanded,
onDismissRequest = { expanded = false },
modifier = Modifier.fillMaxWidth(),
) {
items.forEachIndexed { index, select ->
DropdownMenuItem(
onClick = {
selected.value = items[index]
expanded = false
},
modifier = Modifier.fillMaxWidth(),
) {
Text(text = select.toString(), modifier = Modifier.fillMaxWidth())
}
}
}
}
}
当没有点击时,显示的 Text
会填满整个宽度。但是,当点击并展开时,弹出窗口无法完全展开,即使我在 Modifier.fillMaxWidth()
和 DropdownMenu
中设置了 DropdownMenuItem
。
如何使 DropdownMenu
的弹出窗口更宽?