Slider
The slide bar looks somewhat similar to the progress bar, but the difference is that the slide bar can make numerical selections.
Sample code
-- 回调函数
slider_event_cb = function(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
local val = (lvgl.slider_get_value(obj) or "0").."%"
lvgl.label_set_text(slider_label, val)
lvgl.obj_align(slider_label, obj, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
end
end
-- 创建滑动条
slider = lvgl.slider_create(lvgl.scr_act(), nil)
lvgl.obj_align(slider, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.obj_set_event_cb(slider, slider_event_cb)
-- 创建标签
slider_label = lvgl.label_create(lvgl.scr_act(), nil)
lvgl.label_set_text(slider_label, "0%")
lvgl.obj_align(slider_label, slider, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
create
Sliders are lvgl.slider_create
created through functions.
slider = lvgl.slider_create(lvgl.scr_act(), nil)
After the slide bar is created, you can set the display position and operate it.
Set value
The use of sliders is still very similar to Bar. You can set the numerical value lvgl.slider_set_value
and the display range. lvgl.slider_set_range
.
lvgl.slider_set_range(slider, 100, 200)
lvgl.slider_set_value(slider, 150, lvgl.ANIM_OFF)
type
The type of slider can be set. In addition to the ordinary single knob, you can also set two knobs, one for the starting position and one for the end position. The knobs in both positions can be slid. The slider type is lvgl.slider_set_type
set through a function. The types that can be selected are:
lvgl.SLIDER_TYPE_NORMAL -- 普通的默认类型
lvgl.SLIDER_TYPE_RANGE -- 滑动条可以有两个旋钮
Let's take a look at the sliders of the two knobs.
lvgl.slider_set_type(slider, lvgl.SLIDER_TYPE_RANGE)
event
By setting a callback function for the slide bar, we can get the value set by the slide bar. The slide bar itself is an input control.
-- 回调函数
slider_event_cb = function(obj, event)
if event == lvgl.EVENT_VALUE_CHANGED then
local val = (lvgl.slider_get_value(obj) or "0").."%"
lvgl.label_set_text(slider_label, val)
lvgl.obj_align(slider_label, obj, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
end
end
-- 创建滑动条
slider = lvgl.slider_create(lvgl.scr_act())
lvgl.obj_align(slider, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.obj_set_event_cb(slider, slider_event_cb)
-- 创建标签
slider_label = lvgl.label_create(lvgl.scr_act(), nil)
lvgl.label_set_text(slider_label, "0%")
lvgl.obj_align(slider_label, slider, lvgl.ALIGN_OUT_BOTTOM_MID, 0, 10)
Here, we set a callback function for the slider to listen for value change events. At the same time, we added a label to display the value of the slider. The display effect is as follows:
API
lvgl.slider_create
transfer |
lvgl.slider_create(par, copy) |
Function |
Create a slider object |
return |
Pointer to the slider object |
parameter |
|
par |
Pointer to the object that will be the parent of the new key object |
copy |
Pointer to the slider object from which the new object will be copied if not nil |
lvgl.slider_set_value
transfer |
lvgl.slider_set_value(slider, val, anim) |
Function |
Set the value of the slider |
parameter |
|
slider |
Pointer to the slider object |
val |
The new value of the slider |
anim |
lvgl.ANIM_ON sets the value with animation. lvgl.ANIM_OFF changes value immediately |
lvgl.slider_set_type
transfer |
lvgl.slider_set_type(slider, type) |
Function |
Set the type of slider |
parameter |
|
slider |
Pointer to the slider object |
type |
The type of slider is lvgl.SLIDER_TYPE_RANGE or lvgl.SLIDER_TYPE_NORMAL |
lvgl.slider_set_range
transfer |
lvgl.slider_set_range(slider, min, max) |
Function |
Set the minimum and maximum values of the slider |
parameter |
|
slider |
Pointer to the slider object |
min |
minimum value |
max |
maximum value |
lvgl.slider_set_anim_time
transfer |
lvgl.slider_set_anim_time(slider, anim_time) |
Function |
Set the animation time of the slider |
parameter |
|
slider |
Pointer to the slider object |
anim_time |
Animation time in milliseconds. |
lvgl.slider_get_value
transfer |
lvgl.slider_get_value(slider) |
Function |
Get the setting value of the slider |
return |
Slider setting value |
parameter |
|
slider |
Pointer to the slider object |
lvgl.slider_get_left_value
transfer |
lvgl.slider_get_left_value(slider) |
Function |
Get the left value of the slider |
return |
The left value of the slider |
parameter |
|
slider |
Pointer to the slider object |
lvgl.slider_get_min_value
transfer |
lvgl.slider_get_min_value(slider) |
Function |
Get the minimum value of the slider |
return |
Minimum value of slider |
parameter |
|
slider |
Pointer to the slider object |
lvgl.slider_get_max_value
transfer |
lvgl.slider_get_max_value(slider) |
Function |
Get the maximum value of the slider |
return |
The maximum value of the slider |
parameter |
|
slider |
Pointer to the slider object |
lvgl.slider_is_dragged
transfer |
lvgl.slider_is_dragged(slider) |
Function |
Determine whether the Kuai has been dragged |
return |
true is being dragged, false is not being dragged |
parameter |
|
slider |
Pointer to the slider object |
lvgl.slider_get_anim_time
transfer |
lvgl.slider_get_anim_time(slider, time) |
Function |
Get the animation time set by the slider |
return |
Slider animation time |
parameter |
|
slider |
Pointer to the slider object |