Hezhou Air724UG LuatOS-Air LVGL API control-Slider

Slider

slider.png


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.

jdfw3.gif

Set value

The use of sliders is still very similar to Bar. You can set the numerical value  lvgl.slider_set_valueand the display range.  lvgl.slider_set_range.

lvgl.slider_set_range(slider, 100, 200)
lvgl.slider_set_value(slider, 150, lvgl.ANIM_OFF)

Set value.png

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)

jdfw.gif

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:

jdfw4.gif

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

Guess you like

Origin blog.csdn.net/l531798151/article/details/132722325