1. 程式人生 > 其它 >lvgl7+VS2017虛擬機器做一個可以雙向載入的進度條

lvgl7+VS2017虛擬機器做一個可以雙向載入的進度條

lvgl的bar控制元件是進度條控制元件,但是進度條控制元件只能從左到右增加,或者豎著從下到上增加

(要設定bar控制豎直只需要lv_obj_set_size(長,寬),寬大於長即可)

這裡使用slider控制元件去模擬一個雙向載入的進度條

lv_obj_t* slider = lv_slider_create(lv_scr_act(), NULL);//在螢幕上建立一個slider控制元件

lv_obj_set_size(slider, 180, 16);//設定slider的尺寸為長180,寬16

lv_obj_set_pos(slider, 128, 128);//設定位置為128,128

lv_slider_set_value(slider,10,1); //設定 slider 控制元件的值,這個可以設定也可以不用,效果是slider從中間分開向右邊移動10

lv_slider_set_left_value(slider, 0, 1);//設定 slider 控制元件左邊滑塊的值,我們下一步要隱藏到這個滑塊,讓它模擬成進度條

lv_obj_set_style_local_opa_scale(slider, LV_SLIDER_PART_KNOB, LV_STATE_DEFAULT,LV_OPA_0);//讓滑塊透明化

lv_slider_set_type(slider, LV_SLIDER_TYPE_RANGE);//多加一個slider滑塊,可以從中間向左增加

lv_obj_set_style_local_bg_color(slider, LV_BAR_PART_INDIC, LV_STATE_DEFAULT, LV_COLOR_BLACK)//設定slider的背景為黑色

效果如下圖,可以隨意滑動,看不到滑塊,使用lv_slider_set_value去設定slider的值就可以模擬成進度條了