跳转到内容

Stepper ​

步进器让用户通过减号和加号按钮以固定步长调整整数值,对应 ColorOS 的 COUIStepperView(32dp 圆形按钮,带 OPLUS 步进马达震动)。

引入 ​

kotlin
import io.github.suqi8.coui.kmp.basic.Stepper
import io.github.suqi8.coui.kmp.basic.StepperDefaults

基本用法 ​

kotlin
var value by remember { mutableIntStateOf(2) }

Stepper(
    value = value,
    onValueChange = { value = it },
    minValue = 0,
    maxValue = 10,
)

属性 ​

Stepper ​

属性类型说明默认值必需
valueInt当前值-是
onValueChange(Int) -> Unit步进时返回新值的回调-是
modifierModifier应用于步进器的修饰符Modifier否
minValueInt可达到的最小值Int.MIN_VALUE否
maxValueInt可达到的最大值Int.MAX_VALUE否
stepInt每次按压的增减量1否
enabledBoolean步进器是否启用true否
colorsStepperColors颜色配置StepperDefaults.stepperColors()否

StepperDefaults ​

常量类型默认值
ButtonSizeDp32.dp
GlyphSizeDp15.2.dp
GlyphStrokeWidthDp1.6.dp
SpacingDp12.dp
IndicatorMinWidthDp44.dp

stepperColors() 工厂 ​

参数类型默认值
buttonColorColorCOUITheme.colorScheme.secondaryContainer
contentColorColorCOUITheme.colorScheme.onSurface
disabledContentColorColorCOUITheme.colorScheme.disabledOnSurface

行为 ​

  • 按 − 或 + 会按 step 改变数值,并钳制到 [minValue, maxValue]。
  • 当数值到达边界时,对应按钮会自动禁用。
  • 每次成功步进会触发 COUI 步进震动(ColorOS 上为 OPLUS 常量 308,其它平台回退到最接近的标准震动)。

变更日志

基于 Apache-2.0 许可发布