版本是Jetpack Compose Android 1.1.1
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.padding
import androidx.compose.material.AlertDialog
import androidx.compose.material.Button
import androidx.compose.material.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.unit.dp
@Composable
fun MessageDialog(
visible: Boolean,
title: String,
leftButtonText: String,
rightButtonText: String,
onClickLeftButton: () -> Unit,
onClickRightButton: () -> Unit
) {
if (visible) {
AlertDialog(
onDismissRequest = onClickRightButton,
title = { Text(text = title) },
buttons = {
Column {
Button(
modifier = Modifier.padding(8.dp),
onClick = onClickLeftButton
) {
Text(text = leftButtonText)
}
Spacer(modifier = Modifier.height(8.dp))
Button(
modifier = Modifier.padding(8.dp),
onClick = onClickRightButton
) {
Text(text = rightButtonText)
}
}
}
)
}
}
使用组件
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
@Composable
fun MyApp() {
val (visible, setVisible) = remember { mutableStateOf(false) }
// 显示或隐藏对话框
fun toggleDialog() {
setVisible(!visible)
}
// 删除好友操作
fun deleteFriend() {
// 在这里执行删除好友的操作
}
// 显示对话框按钮
Button(onClick = toggleDialog) {
Text("显示对话框")
}
// 显示确认对话框
MessageDialog(
visible = visible,
title = "确认删除好友吗?",
leftButtonText = "删除",
rightButtonText = "取消",
onClickLeftButton = {
toggleDialog()
deleteFriend()
},
onClickRightButton = toggleDialog
)
}
参考ai腾讯混元