Radio Sheet Builder
class RadioSheetBuilder<T>(title: String = "请选择", items: Set<T>, itemText: (T) -> String = { it.toString() }, selectedItem: T = items.first(), showButton: Boolean = true, cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(T) -> Boolean = { true }) : SheetBuilder
单选面板底部弹窗构建器
从底部弹出的单选列表面板,展示一组带单选按钮的选项列表。 支持两种交互模式:
带按钮模式(showButton = true):顶部显示标题栏(取消/确定按钮), 用户选择后需点击确定才会触发回调
无按钮模式(showButton = false):仅显示标题, 点击选项即刻触发 onConfirmClick 回调并关闭弹窗
选项列表超出可视区域时支持垂直滚动。
Author
d10ng
Parameters
title
标题文字,默认 "请选择"
items
选项数据集合,要求非空
item Text
选项文本转换函数,默认调用 toString()
selected Item
当前选中的项,默认为第一项
show Button
是否显示确定和取消按钮,默认 true
cancel Text
取消按钮文字,默认 "取消"
confirm Text
确定按钮文字,默认 "确定"
on Cancel Click
取消按钮点击回调,返回 true 则自动关闭弹窗
on Confirm Click
确定按钮点击回调,参数为选中的项,返回 true 则自动关闭弹窗
Type Parameters
T
选项数据类型
Constructors
Link copied to clipboard
constructor(title: String = "请选择", items: Set<T>, itemText: (T) -> String = { it.toString() }, selectedItem: T = items.first(), showButton: Boolean = true, cancelText: String = "取消", confirmText: String = "确定", onCancelClick: suspend CoroutineScope.() -> Boolean = { true }, onConfirmClick: suspend CoroutineScope.(T) -> Boolean = { true })