- 下拉回调函数处理
static void drop_down_list_event_handler(lv_obj_t* obj, lv_event_t event) { if (event == LV_EVENT_VALUE_CHANGED) { char buf[32]; lv_ddlist_get_selected_str(obj, buf, sizeof(buf)); printf("option: %s\n", buf); } }
- 下拉列表实现
void drop_down_list_demo(void) { lv_obj_t* ddlist = lv_ddlist_create(lv_scr_act(), NULL); lv_ddlist_set_options(ddlist, "Apple\n" "Banana\n" "Orange\n" "Melon\n" "Grape\n" "Raspberry" ); lv_ddlist_set_fix_width(ddlist, 150); lv_ddlist_set_draw_arrow(ddlist, true); lv_obj_align(ddlist, NULL, LV_ALIGN_IN_TOP_LEFT, 20, 20); lv_obj_set_event_cb(ddlist, drop_down_list_event_handler); //drop up list ddlist = lv_ddlist_create(lv_scr_act(), NULL); lv_ddlist_set_options(ddlist, "Apple2\n" "Banana2\n" "Orange2\n" "Melon2\n" "Grape2\n" "Raspberry2" ); lv_ddlist_set_fix_width(ddlist, 150); lv_ddlist_set_fix_height(ddlist, 150); lv_ddlist_set_draw_arrow(ddlist, true); lv_obj_set_auto_realign(ddlist, true); lv_obj_align(ddlist, NULL, LV_ALIGN_IN_BOTTOM_MID, 0, -20); lv_obj_set_event_cb(ddlist, drop_down_list_event_handler); }
- 调用drop_down_list_demo函数,编译运行