modifier.menuAnchor() 未按预期工作。 ExposeDropDownMenu 没有锚定到文本字段的底部,这是我认为应该发生的情况。
如果我删除menu.anchor(),当我展开它时什么也不会出现。请看这里:
我尝试对此进行研究,但网上没有太多示例,而且我找到的示例似乎就像我尝试的那样。这是我所期望的图像:
这是我尝试做的:
@OptIn(ExperimentalMaterial3Api::class)
@Composable
fun GameDropdownMenu(gameNames: List<String>) {
var expanded by remember { mutableStateOf(false) }
var selectedText by remember { mutableStateOf("Select Game")}
Box(
modifier = Modifier
.fillMaxWidth()
.padding(16.dp)
) {
ExposedDropdownMenuBox(
expanded = expanded,
onExpandedChange = { expanded = !expanded },
modifier = Modifier
) {
TextField(
value = selectedText,
onValueChange = {},
readOnly = true,
trailingIcon = {
ExposedDropdownMenuDefaults.TrailingIcon(expanded = expanded)
},
modifier = Modifier.menuAnchor().fillMaxWidth()
)
ExposedDropdownMenu(
expanded = expanded,
onDismissRequest = { expanded = false },
) {
gameNames.forEach { gameName ->
DropdownMenuItem(
text = { TextBodyPrimary(text = gameName, fontSize = 12.sp) },
onClick = {
selectedText = gameName
expanded = false
}
)
}
}
}
}
}
```
你的代码乍一看似乎不错。
请检查您是否拥有用于
material3
可组合项的正确 DropdownMenuXX
导入。
import androidx.compose.material3.DropdownMenuItem
import androidx.compose.material3.ExposedDropdownMenuBox
import androidx.compose.material3.ExposedDropdownMenuDefaults
import androidx.compose.material3.TextField