Slider(滑动器)

大约 2 分钟

Slider(滑动器)

滑动选择器组件,可用于拖动进度条场景

组件使用示例open in new window

属性

支持所有基础属性,此外还支持:

currentProgress

设置当前进度百分比, 取值范围[0, 1]

参数描述类型
progress01进度百分比, 取值范围[0, 1]Float

progressViewCreator

当前进度view自定义创建(可选,有默认实现)

参数描述类型
creator自定义当前进度viewViewContainer<*, *>.() -> Unit

trackViewCreator

背景轨道view自定义创建(可选,有默认实现)

参数描述类型
creator自定义背景轨道viewViewContainer<*, *>.() -> Unit

thumbViewCreator

滑块view自定义创建(可选,有默认实现)

参数描述类型
creator自定义滑块viewViewContainer<*, *>.() -> Unit

progressColor

当前进度颜色

参数描述类型
color当前进度颜色Color

trackColor

背景轨道颜色

参数描述类型
color背景轨道颜色Color

thumbColor

滑块颜色

参数描述类型
color滑块颜色Color

trackThickness

轨道厚度

参数描述类型
thickness轨道厚度Float

thumbSize

滑块大小(高度和宽度,尺寸)

参数描述类型
thickness滑块大小Size

sliderDirection

滑动方向(是否是横向, 默认横向)

参数描述类型
horizontal滑动方向Boolean

事件

支持所有基础事件,此外还支持:

progressDidChanged

进度变化时的回调,回调会传入进度参数

参数描述类型
progress当前滑动进度Float

beginDragSlider

开始拖动滑动器的回调,回调会传入Pan手势参数PanGestureParams

参数描述类型
params滑动手势参数PanGestureParams

endDragSlider

结束拖动滑动器的回调,回调会传入Pan手势参数PanGestureParams

参数描述类型
params滑动手势参数PanGestureParams
@Page("demo_page")
internal class TestPage : BasePager() {
    override fun body(): ViewBuilder {
        return {
            attr {
                allCenter()
            }
            Slider {
                attr {
                    width(pagerData.pageViewWidth - 40f)
                    height(30f)
                    trackColor(Color.GRAY)
                    thumbColor(Color.BLUE)
                    progressColor(Color.RED)
                }
                event {
                    progressDidChanged {
                        KLog.i("Slider", "progressDidChanged: $it")
                    }
                    beginDragSlider {
                        KLog.i("Slider", "beginDragSlider")
                    }
                    endDragSlider {
                        KLog.i("Slider", "endDragSlider")
                    }
                }
            }
        }
    }
}







 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 



上次编辑于: