Package-level declarations

Types

Link copied to clipboard

复选框形状类型

Link copied to clipboard

选择按钮外观模式

Link copied to clipboard

日期选择器模式 控制 DatePicker 显示的列组合,每种模式决定了滚轮列数及各列含义

Link copied to clipboard

标签对齐方式 LEFT / CENTER / RIGHT 为标签与输入框水平排列,TOP 为标签单独一行显示在输入框上方

Link copied to clipboard

步进器样式枚举

Link copied to clipboard

时间选择器模式 控制 TimePicker 显示的列组合,时间值均以秒为单位(0-86399)

Functions

Link copied to clipboard
fun Checkbox(modifier: Modifier = Modifier, checked: Boolean, onCheckedChange: (Boolean) -> Unit = {}, disabled: Boolean = false, size: Dp = 22.dp, type: CheckboxType = CheckboxType.SQUARE, activeColor: Color = MaterialTheme.colorScheme.primary, inactiveColor: Color = AppColor.Neutral.tips, disabledColor: Color = AppColor.Neutral.hint)

复选框 支持方形和圆形两种外观,选中时显示对勾图标,可独立控制禁用状态及各阶段颜色

Link copied to clipboard
fun CheckButton(text: String, checked: Boolean, onCheckedChange: (Boolean) -> Unit, mode: CheckButtonMode = CheckButtonMode.Clip, disabled: Boolean = false, activeColor: Color = mode.activeColor, inactiveColor: Color = mode.inactiveColor)

单个选择按钮 根据 mode 呈现两种外观:

Link copied to clipboard
fun CheckButtonGroup(modifier: Modifier = Modifier, items: Set<String>, checked: String, onCheckedChange: (String) -> Unit, mode: CheckButtonMode = CheckButtonMode.Clip, disabled: Set<String> = setOf(), activeColor: Color = mode.activeColor, inactiveColor: Color = mode.inactiveColor)

单选选择按钮组 对多选版本的封装,每次只能选中一个选项,点击已选中项或未选中项均会更新选中值

fun CheckButtonGroup(modifier: Modifier = Modifier, items: Set<String>, checked: Set<String>, onCheckedChange: (Set<String>) -> Unit, mode: CheckButtonMode = CheckButtonMode.Clip, disabled: Set<String> = setOf(), activeColor: Color = mode.activeColor, inactiveColor: Color = mode.inactiveColor)

多选选择按钮组 使用 FlowRow 自动换行排列所有选项,支持同时选中多个

Link copied to clipboard
fun DatePicker(value: Long, onValueChange: (Long) -> Unit, start: Long = 0, endInclude: Long = kotlin.time.Clock.System.now().toEpochMilliseconds(), textStyle: TextStyle = AppText.Normal.Title.default, mode: DatePickerMode = DatePickerMode.YMD, itemText: (Int, String) -> String = { _, item -> item })

日期选择器 基于 MultiPicker 实现的日期滚轮选择组件,根据 mode 自动计算并显示对应的年/月/日列 自动处理各列之间的联动(如月份变化时重新计算当月天数),并将选中结果限制在 [start, endInclude] 范围内

Link copied to clipboard
fun Field(modifier: Modifier = Modifier, value: String, onValueChange: (String) -> Unit, label: String, placeholder: String = "", type: KeyboardType = KeyboardType.Text, readonly: Boolean = false, disabled: Boolean = false, canClear: Boolean = false, required: Boolean = false, border: Boolean = true, autoSize: Boolean = false, error: String = "", labelWidth: Dp = 100.dp, labelAlign: FieldLabelAlign = FieldLabelAlign.LEFT, leftIconResource: DrawableResource? = null, leftIconTint: Color = AppColor.Neutral.title, maxLines: Int = Int.MAX_VALUE, minLines: Int = 1, onSizeChange: (IntSize, IntSize) -> Unit = { _, _ -> })

表单输入框 包含左侧标签区和右侧输入内容区,支持只读、禁用、密码、清除、错误提示等常用场景 当 type 为 KeyboardType.Password 或 KeyboardType.NumberPassword 时,自动显示密码可见性切换图标

Link copied to clipboard
fun <T> MultiPicker(items: List<Set<T>>, itemText: (Int, T) -> String = { _, item -> item.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItems: List<T> = items.map { it.first() }, onValueChange: (List<T>) -> Unit = {})

多列滚轮选择器 将多个 Picker 横向等宽排列,每列独立滚动,共同构成多维度的选择结果

Link copied to clipboard
fun <T> Picker(items: Set<T>, itemText: (T) -> String = { it.toString() }, textStyle: TextStyle = AppText.Normal.Title.default, selectedItem: T = items.first(), onValueChange: (T) -> Unit = {})

单列滚轮选择器 以 LazyColumn 实现可滚动选项列表,固定显示 5 行,中间高亮行为当前选中项 滚动结束后自动吸附到最近选项(Snap 效果),并回调选中变更

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun RadioCell(modifier: Modifier = Modifier, label: String, selected: Boolean, disabled: Boolean = false, border: Boolean = true, onClick: () -> Unit = {})

单选单元格 以列表行形式展示单选项,右侧显示 RadioButton,标题居左

Link copied to clipboard
fun Search(value: String, onValueChange: (String) -> Unit = {}, label: String = "", placeholder: String = "请输入搜索关键词", align: TextAlign = TextAlign.Start, disabled: Boolean = false, loading: Boolean = false, shape: RoundedCornerShape = AppShape.RC.v6, backgroundColor: Color = AppColor.Neutral.card, actionText: String = "取消", actionTextStyle: TextStyle = AppText.Normal.Title.default, onClickAction: () -> Unit? = null)

搜索输入框 包含左侧搜索图标(或自定义标签)、输入框、可选清除按钮及可选右侧动作按钮 获得焦点且有内容时自动显示清除按钮;loading 为 true 时显示进度指示器并隐藏清除按钮

Link copied to clipboard
fun Stepper(value: Int, onValueChange: (Int) -> Unit, min: Int = 0, max: Int = Int.MAX_VALUE, step: Int = 1, disabled: Boolean = false, canInput: Boolean = true, inputWidth: Dp = 45.dp, buttonSize: Dp = 32.dp, style: StepperStyle = StepperStyle.Default)

步进器

Link copied to clipboard
fun StepperDefault(value: Int, onValueChange: (Int) -> Unit, min: Int = 0, max: Int = Int.MAX_VALUE, step: Int = 1, disabled: Boolean = false, canInput: Boolean = true, inputWidth: Dp = 45.dp, buttonSize: Dp = 32.dp)

默认样式步进器

Link copied to clipboard
fun StepperRound(value: Int, onValueChange: (Int) -> Unit, min: Int = 0, max: Int = Int.MAX_VALUE, step: Int = 1, disabled: Boolean = false, canInput: Boolean = true, inputWidth: Dp = 45.dp, buttonSize: Dp = 32.dp)

圆角样式步进器

Link copied to clipboard
fun Switch(modifier: Modifier = Modifier, checked: Boolean, onCheckedChange: (Boolean) -> Unit, disabled: Boolean = false, loading: Boolean = false, activeColor: Color = AppColor.Main.primary, inactiveColor: Color = AppColor.Neutral.line, iconResource: DrawableResource? = null, size: Dp = 32.dp)

Switch 开关

Link copied to clipboard
fun TimePicker(value: Int = 0, onValueChange: (Int, List<Int>) -> Unit, start: Int = 0, endInclude: Int = 86399, textStyle: TextStyle = AppText.Normal.Title.default, mode: TimePickerMode = TimePickerMode.HMS, itemText: (Int, String) -> String = { _, item -> item })

时间选择器 基于 MultiPicker 实现的时间滚轮选择组件,根据 mode 显示时/分/秒列 各列之间自动联动(如小时变化时重新计算可选分钟范围),选中结果裁剪至 [start, endInclude] 范围