滑动条控件也叫轨道条控件,它有一条轨道和可以滑动的块。滑动条能与用户交互,通过图像量化的方式改变底层逻辑的数值。
我们来看看具体的滑动条,如下图:
Quick 中的 UISilder 控件支持水平或竖直方向显示。它还支持控件事件。比如 按下、释放、按钮状态变化、取值变化等事件。源码位于framework/cc/ui/UiSlider.lua
。
创建
在 Quick 中使用cc.ui.UiSlider.new(direction,images,options)
方法创建一个新的进度条。参数如下:
- direction,number类型,滑动的方向
- display.LEFT_TO_RIGHT,左右滑动
- display.TOP_TO_BOTTOM,上下滑动
- images,table类型,
- options,table类型,可用的参数有:
- scale9 boolean,图片是否可缩放
- min number,最小值 默认是0
- max number,最大值 默认是100
- touchInButton boolean,是否只在触摸在滑动块上时才有效,默认为true。
示例:
UiSliderTestScene.SLIDER_IMAGES = {
@H_502_60@
bar =
"slider/SliderBar.png"
,
@H_502_60@
button =
"slider/SliderButton.png"
,
@H_502_60@
} -- 指定滑动控件的滑动条图片和按钮图片
@H_502_60@
@H_502_60@
local barHeight = 40
@H_502_60@
local barWidth = 400
@H_502_60@
local valueLabel = cc.ui.UILabel.
new
({text =
""
,size = 14,color = display.COLOR_BLACK})
@H_502_60@
:align(display.LEFT_CENTER,display.left + barWidth + 60,display.top - 60)
@H_502_60@
|
上面代码创建了一个水平方向的滑动控件和一个显示滑块值的 Label。
修改滑动条大小
当创建参数设置了 scale9 为 true,那么可以通过下面的接口来改变控件的大小。
1
@H_502_60@ |
如果 scale9 为 false,调用这个接口会报错,程序停止运行。
滑动块位置
假如我们提供一个滑动条来改变系统音量,那么控件初始化后,应该能正确显示当前音量的大小。通过下面的接口设置初始位置。
1
@H_502_60@ |
value 的 取值范围 [options.min,options.max]
1
@H_502_60@ |
事件
UiSlider 内部产生4种事件,它们是: