Ram*_*abu 12 android android-alertdialog android-jetpack-compose
如何将 Jetpack Compose 中的警报对话框放置在屏幕底部。另外,设置透明背景。
小智 14
从弗拉基米尔的回应中得到的想法对我来说最有效的解决方案是从对话框中获取对窗口的引用并设置所需的重力。
Dialog(
onDismissRequest = [...],
properties = [...],
) {
val dialogWindowProvider = LocalView.current.parent as DialogWindowProvider
dialogWindowProvider.window.setGravity(Gravity.BOTTOM)
[...]
}
Run Code Online (Sandbox Code Playgroud)
演员阵容应该不是问题,但当然,可以安全地演员阵容以防止出现不愉快的意外。
Ram*_*abu 10
谢谢@alekseyHunter 和@johann。我可以使用自定义布局修改器来实现这一点。
用于定位警报对话框的自定义修饰符
enum class CustomDialogPosition {
BOTTOM, TOP
}
fun Modifier.customDialogModifier(pos: CustomDialogPosition) = layout { measurable, constraints ->
val placeable = measurable.measure(constraints);
layout(constraints.maxWidth, constraints.maxHeight){
when(pos) {
CustomDialogPosition.BOTTOM -> {
placeable.place(0, constraints.maxHeight - placeable.height, 10f)
}
CustomDialogPosition.TOP -> {
placeable.place(0,0,10f)
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
并在警报对话框实现中作为
AlertDialog( ..., modifiers = Modifiers.customDialogModifier(CustomDialogPosition.BOTTOM))
{
// block
})
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7505 次 |
| 最近记录: |