Диалог в Jetpack Compose
Я новичок в Jetpack Compose. Я только что реализовалAlertDialog
в Jetpack Compose. Я не совсем понимаю процесс диалогового показа и отклонения. Вот пример кода:
@Composable
fun CreateAlertDialog() {
Column {
val openDialog = remember { mutableStateOf(false) }
Button(
onClick = {
openDialog.value = true
},
modifier = Modifier
.padding(16.dp)
.fillMaxWidth()
) {
Text(text = "Open Dialog")
}
if (openDialog.value){
AlertDialog(
onDismissRequest = {
openDialog.value = false
},
title = {
Text(text = "Dialog Title")
},
text = {
Text(text = "Text content")
},
confirmButton = {
Button(
onClick = {
openDialog.value = false
}
) {
Text(text = "Ok")
}
},
dismissButton = {
Button(
onClick = {
openDialog.value = false
}
) {
Text(text = "Cancel")
}
},
modifier = Modifier.padding(start = 32.dp, end = 32.dp)
)
}
}
}
Это отлично работает, но я не понимаю, как здесь отклоняется диалог. Диалог отображается на основеMutableState
Он показывает диалог, когда это верно. Что происходит после клика? КогдаButton
нажимаетсяopenDialog.value
становитсяfalse
иdialog
уволен.
Где выполняется код закрытия диалога?
Как обрабатывается это состояние?
Может ли кто-нибудь объяснить, что это будет полезно для меня. Заранее спасибо.