Class
Common
expect class DialogProperties(
dismissOnBackPress: Boolean = true,
dismissOnClickOutside: Boolean = true,
usePlatformDefaultWidth: Boolean = true,
)
Properties used to customize the behavior of a Dialog.
Properties
Common
val dismissOnBackPress: Boolean
Common
val dismissOnClickOutside: Boolean
Common
val usePlatformDefaultWidth: Boolean
Android
actual class DialogProperties(
actual val dismissOnBackPress: Boolean = true,
actual val dismissOnClickOutside: Boolean = true,
val securePolicy: SecureFlagPolicy = SecureFlagPolicy.Inherit,
actual val usePlatformDefaultWidth: Boolean = true,
val decorFitsSystemWindows: Boolean = true,
val windowTitle: String = "",
val windowType: Int = WindowManager.LayoutParams.TYPE_APPLICATION,
val windowToken: IBinder? = null,
)
Properties used to customize the behavior of a Dialog.
Secondary Constructors
actual constructor(
dismissOnBackPress: Boolean,
dismissOnClickOutside: Boolean,
usePlatformDefaultWidth: Boolean,
) : this(
dismissOnBackPress = dismissOnBackPress,
dismissOnClickOutside = dismissOnClickOutside,
securePolicy = SecureFlagPolicy.Inherit,
usePlatformDefaultWidth = usePlatformDefaultWidth,
decorFitsSystemWindows = true,
)
constructor(
dismissOnBackPress: Boolean = true,
dismissOnClickOutside: Boolean = true,
securePolicy: SecureFlagPolicy = SecureFlagPolicy.Inherit,
usePlatformDefaultWidth: Boolean = true,
decorFitsSystemWindows: Boolean = true,
windowTitle: String = "",
) : this(
dismissOnBackPress = dismissOnBackPress,
dismissOnClickOutside = dismissOnClickOutside,
securePolicy = securePolicy,
usePlatformDefaultWidth = usePlatformDefaultWidth,
decorFitsSystemWindows = decorFitsSystemWindows,
windowTitle = windowTitle,
windowType = WindowManager.LayoutParams.TYPE_APPLICATION,
windowToken = null,
)
constructor(
dismissOnBackPress: Boolean = true,
dismissOnClickOutside: Boolean = true,
securePolicy: SecureFlagPolicy = SecureFlagPolicy.Inherit,
usePlatformDefaultWidth: Boolean = true,
decorFitsSystemWindows: Boolean = true,
) : this(
dismissOnBackPress = dismissOnBackPress,
dismissOnClickOutside = dismissOnClickOutside,
securePolicy = SecureFlagPolicy.Inherit,
usePlatformDefaultWidth = usePlatformDefaultWidth,
decorFitsSystemWindows = true,
windowTitle = "",
)
constructor(
dismissOnBackPress: Boolean = true,
dismissOnClickOutside: Boolean = true,
securePolicy: SecureFlagPolicy = SecureFlagPolicy.Inherit,
) : this(
dismissOnBackPress = dismissOnBackPress,
dismissOnClickOutside = dismissOnClickOutside,
securePolicy = securePolicy,
usePlatformDefaultWidth = true,
decorFitsSystemWindows = true,
)
Code Examples
DialogFromServiceSample
@Composable
fun DialogFromServiceSample() {
// In a real Service scenario, appWindowToken would be received via IPC
// from the main application process. This sample simulates having the token.
val appWindowToken: IBinder? = null // Provided via IPC
var showDialog by remember { mutableStateOf(false) }
Button(onClick = { showDialog = true }) { Text("Show Dialog From Service") }
if (showDialog) {
Dialog(
onDismissRequest = { showDialog = false },
properties =
DialogProperties(
// Pass the application's window token
windowToken = appWindowToken
),
) {
Box(Modifier.size(250.dp, 150.dp).background(Color.DarkGray)) {
Text("Dialog Content (Service)", color = Color.White)
}
}
}
}