1.说明
采用将各窗口的Compose 作为参数传入,然后按需调用,可以实现多窗口的切换显示。
2.代码
@Composable
fun MenusExamples() {
var currentExample by remember { mutableStateOf<(@Composable () -> Unit)?>(null) }
Box(modifier = Modifier.fillMaxSize()) {
currentExample?.let {
it()
FloatingActionButton(
onClick = { currentExample = null },
modifier = Modifier
.align(Alignment.BottomEnd)
.padding(16.dp)
) {
Text(text = "Close example", modifier = Modifier.padding(16.dp))
}
return
}
Column(modifier = Modifier.padding(16.dp)) {
Button(onClick = { currentExample = { MinimalDropdownMenu() } }) {
Text("Minimal dropdown menu")
}
Button(onClick = { currentExample = { LongBasicDropdownMenu() } }) {
Text("Dropdown menu with many items")
}
Button(onClick = { currentExample = { DropdownMenuWithDetails() } }) {
Text("Dropdown menu with sections and icons")
}
Button(onClick = { currentExample = { DropdownFilter() } }) {
Text("Menu for applying a filter, attached to a filter chip")
}
}
}
}
其中的 MinimalDropdownMenu...为一个无参数的compose。这里不再给出相应代码。
1562

被折叠的 条评论
为什么被折叠?



