如何使 JetpackCompose DropDownMenu 弹出项目更宽?

时间:2021-04-08 12:35:43

标签: android android-jetpack-compose

我有一个可以用作选择的 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

enter image description here

如何使 DropdownMenu 的弹出窗口更宽?

0 个答案:

没有答案