事件处理回调函数
static void event_handler(lv_event_t* e)
{
lv_event_code_t code = lv_event_get_code(e); // 获取对象产生的事件码
lv_obj_t* obj = lv_event_get_target(e); // 获取产生事件的对象
if (code == LV_EVENT_VALUE_CHANGED) { // 处理值已改变事件
char buf[32];
lv_dropdown_get_selected_str(obj, buf, sizeof(buf)); // 获取选中对象的文本内容
LV_LOG_USER("Option: %s", buf); // 打印文本内容
}
}
创建dropdown
static void lv_example_dropdown_1(void)
{
/*Create a normal drop down list*/
lv_obj_t* dd = lv_dropdown_create(lv_scr_act()); //创建dropdown对象
lv_dropdown_set_options(dd, "Apple\n"
"Banana\n"
"Orange\n"
"Cherry\n"
"Grape\n"
"Raspberry\n"
"Melon\n"
"Orange\n"
"Lemon\n"
"Nuts"); // 设置下拉列表选项内容
lv_obj_align(dd, LV_ALIGN_TOP_MID, 0, 20); //LV_ALIGN_TOP_MID方式对齐
lv_obj_add_event_cb(dd, event_handler, LV_EVENT_ALL, NULL); // 添加所有事件
}
运行效果