scrollbar控件
一、使用场景
由于multlist在滑动时发送LV_EVENT_LIST_SCROLLBAR事件,事件中包含了页面的进度信息,所以只需创建控件处理该事件,便可显示进度值。进度条分为圆形和长条两种。
二、功能介绍
1. 使能进度条
//在初始化multlist后,只需创建进度条控件,并把multlist作为进度条的父控件,便可使能进度条
lv_scrollbar_create(multlist, LV_SCROLLBAR_SQUARE_TYPE);
三、案例详解
在初始化multlist后,创建进度条控件实例,以list菜单为例
//1.删除回调流程
static void on_start(void)
{
p_menu_list = (mainmenu_list_t *)app_calloc(1, sizeof(mainmenu_list_t));
RT_ASSERT(p_menu_list);
mainmenu_list_bg_dsc_init();
lv_obj_t *multlist = lv_multlist_create(lv_scr_act());
lv_obj_remove_style_all(multlist);
lv_obj_set_size(multlist, LV_HOR_RES_MAX, LV_VER_RES_MAX);
lv_obj_set_style_bg_color(multlist, LV_COLOR_BLACK, 0);
lv_obj_set_style_bg_opa(multlist, 255, 0);
lv_obj_center(multlist);
lv_obj_refr_size(multlist);
float para[] = { 0, 0, 0, 0.1f, 0.3f };
lv_multlist_set_bezier_para(multlist, LV_VER_RES_MAX, para, para);
lv_multlist_add_flag(multlist, LV_MULTLIST_FLAG_RESIDENCY | LV_MULTLIST_FLAG_SNAPSHOT);
lv_multlist_set_gap(multlist, ICON_VER_GAP);
lv_multlist_set_scrl_pad(multlist, LV_VER_RES_MAX >> 1, LV_VER_RES_MAX >> 1);
lv_multlist_set_dir(multlist, LV_MULTLIST_DIR_VER);
lv_multlist_set_item_cb(multlist, mainmenu_list_new_item_cb, NULL, NULL);
builtin_app_read_all((builtin_app_read_app_cb)app_mainmenu_add_info, NULL, 0, 1, multlist);
lv_multlist_set_springback(multlist, ICON_VER_GAP, ICON_VER_GAP);
lv_multlist_align_center_to(multlist, 2, 0);
p_menu_list->bg_list = multlist;
lv_scrollbar_create(multlist, LV_SCROLLBAR_SQUARE_TYPE);
}
四、注意事项
无