使用Kotlin的表单:如何在Kotlin中的表单中添加下拉菜单



我从Kotlin开始,我想知道如何在Kotlin中用下拉菜单制作表单。这个是我做的,但不好看。

代码:

var billingPeriodExpanded by remember { mutableStateOf(false) }
var selectedIndex by remember { mutableStateOf(0) }

OutlinedTextField(
value = billingPeriodItems[selectedIndex],
onValueChange = { selectedIndex = billingPeriodItems.indexOf(it) },
label = {
Column(modifier = Modifier.fillMaxSize()) {
ComposeMenu(
menuItems = billingPeriodItems,
menuExpandedState = billingPeriodExpanded,
seletedIndex = selectedIndex,
updateMenuExpandStatus = {
billingPeriodExpanded = true
},
onDismissMenuView = {
billingPeriodExpanded = false
},
onMenuItemclick = { index ->
selectedIndex = index
billingPeriodExpanded = false
}
)
}
},
singleLine = true,
modifier = Modifier.fillMaxWidth(0.8f)
)

它看起来是这样的:

在这里你可以看到下拉菜单是如何在字段上方而不是在内部的

你知道我该怎么修吗?

无需重新发明轮子。Compose中已经有一个组件可以做到这一点:

Stackoverflow-Compose 的公开下拉菜单

请参阅以下位置的最新代码示例:

暴露下拉菜单测试.kt

只需搜索功能:

ExposedDropdownMenuForTest

最新更新