属性
@Composable
fun DropdownMenu(
//是否打开
expanded: Boolean,
//消失的回调
onDismissRequest: () -> Unit,
modifier: Modifier = Modifier,
//位置的偏移量
offset: DpOffset = DpOffset(0.dp, 0.dp),
properties: PopupProperties = PopupProperties(focusable = true),
content: @Composable ColumnScope.() -> Unit
)
PopupProperties 包含以下属性
- focusable 是否聚焦,如果聚焦能接收按键的反馈,如:返回键
- dismissOnClickOutside 为 true 则点击 DropdownMenu 外部会消失
- dismissOnBackPress 为ture 点击返回键会 消失
- securePolicy 是否可以截图:SecureFlagPolicy.SecureOn 、SecureFlagPolicy.SecureOff、SecureFlagPolicy.Inherit
案例
@Composable
fun Test() {
var expanded by remember {
mutableStateOf(false)
}
Column {
Text(text = "下拉菜单", modifier = Modifier.clickable {
expanded = !expanded
} )
DropdownMenu(
expanded = expanded, onDismissRequest = {
expanded = false
} ,
properties = PopupProperties(
focusable = true,
dismissOnBackPress = false,
dismissOnClickOutside = true,
securePolicy = SecureFlagPolicy.SecureOn//是否可以截图。
)
) {
DropdownMenuItem(onClick = {
} ) {
Text(text = "菜单1")
}
DropdownMenuItem(onClick = {
} ) {
Text(text = "菜单2")
}
}
}
}