InputDialogBuilder

class InputDialogBuilder(title: String = "提示", inputs: List<InputDialogBuilder.InputField>, confirmText: String = "确定", cancelText: String = "取消", onConfirmClick: suspend CoroutineScope.(List<String>) -> Boolean = { true }, onCancelClick: suspend CoroutineScope.() -> Boolean = { true }) : DialogBuilder

输入弹窗构建器 适用于需要用户填写一个或多个文本字段的场景 每个输入项通过 InputField 配置,支持占位符、标签、键盘类型和自定义验证规则

Author

d10ng

Constructors

Link copied to clipboard
constructor(title: String = "提示", inputs: List<InputDialogBuilder.InputField>, confirmText: String = "确定", cancelText: String = "取消", onConfirmClick: suspend CoroutineScope.(List<String>) -> Boolean = { true }, onCancelClick: suspend CoroutineScope.() -> Boolean = { true })

Types

Link copied to clipboard
object Companion
Link copied to clipboard
data class InputField(var initValue: String = "", var placeholder: String = "请输入", var label: String, var keyboardType: KeyboardType = KeyboardType.Text, var singleLine: Boolean = true, var maxLines: Int = 3, var minLines: Int = 1, var verify: (String) -> InputDialogBuilder.VerifyResult = { VerifyResult() })

单个输入项配置

Link copied to clipboard
data class VerifyResult(var pass: Boolean = true, var errorText: String = "")

输入验证结果

Properties

Link copied to clipboard

是否允许点击遮罩区域关闭弹窗,默认 false

Link copied to clipboard

弹窗内容在遮罩层内的对齐位置,默认居中 Alignment.Center

Functions

Link copied to clipboard
open override fun Build(id: String)

构建弹窗内容 子类在此函数中声明弹窗的 UI 结构