代码之家  ›  专栏  ›  技术社区  ›  AndroidDev

喷气式背包

  •  0
  • AndroidDev  · 技术社区  · 3 年前

    我试图在Jetpack compose中实现一个带有自定义布局的dialogFragment,但找不到任何示例。我是否需要将UI组件包装在卡片/表面中,然后将其包装在对话框中?在文档中找不到任何示例,所有示例都是关于警报对话框的,但我需要自定义布局。谢谢

    0 回复  |  直到 3 年前
        1
  •  2
  •   Gabriele Mariotti    3 年前

    你可以使用 Dialog 可组合:

    Dialog(
        onDismissRequest = { /* ... */ },
        DialogProperties(dismissOnBackPress = true, dismissOnClickOutside = false)
    ) {
        /* Your custom layout */
    }
    
        2
  •  0
  •   dazza5000    3 年前

    将一个可组合文件传递到 text 组成AlertDialog时的字段。参数 文本 使用一个可组合组件,您可以将任何您想要的布局作为一个普通的可组合组件。

    @Composable
    fun AlertDialog(
        onDismissRequest: (() -> Unit)?,
        confirmButton: (@Composable () -> Unit)?,
        modifier: Modifier? = Modifier,
        dismissButton: (@Composable () -> Unit)? = null,
        title: (@Composable () -> Unit)? = null,
        text: (@Composable () -> Unit)? = null,
        shape: Shape? = MaterialTheme.shapes.medium,
        backgroundColor: Color? = MaterialTheme.colors.surface,
        contentColor: Color? = contentColorFor(backgroundColor),
        properties: DialogProperties? = DialogProperties()
    ): Unit
    

    源代码可以在这里找到:

    https://github.com/androidx/androidx/blob/androidx-main/compose/material/material/src/androidMain/kotlin/androidx/compose/material/AndroidAlertDialog.android.kt