Hi,大家好,欢迎来到STM32之littlevGL课堂,我们在上节课中学习了线条控件,本节课我们学习列表控件,废话不多说! 一 有图有真相 这就是列表控件,大家有没有想到什么具体应用场景呢?其实,列表还有蛮多的应用场景的,比如文件列表,歌曲列表等等,大家可以继续思考一下还有什么地方可以应用列表控件。 二 代码分析 static void list_event_handler(lv_obj_t * obj, lv_event_t event)
{
if(event == LV_EVENT_CLICKED) {
printf("Clicked: %s\n", lv_list_get_btn_text(obj));
}
}
void list_test(void)
{
/*Create a list*/
lv_obj_t * list1 = lv_list_create(lv_scr_act(), NULL);
lv_obj_set_size(list1, 160, 200);
lv_obj_align(list1, NULL, LV_ALIGN_CENTER, 0, 0);
/*Add buttons to the list*/
lv_obj_t * list_btn;
list_btn = lv_list_add_btn(list1, LV_SYMBOL_FILE, "New");
lv_obj_set_event_cb(list_btn, list_event_handler);
list_btn = lv_list_add_btn(list1, LV_SYMBOL_DIRECTORY, "Open");
lv_obj_set_event_cb(list_btn, list_event_handler);
list_btn = lv_list_add_btn(list1, LV_SYMBOL_CLOSE, "Delete");
lv_obj_set_event_cb(list_btn, list_event_handler);
list_btn = lv_list_add_btn(list1, LV_SYMBOL_EDIT, "Edit");
lv_obj_set_event_cb(list_btn, list_event_handler);
list_btn = lv_list_add_btn(list1, NULL, "Save");
lv_obj_set_event_cb(list_btn, list_event_handler);
}我们先创建了一个列表对象,然后我们分别添加了五个列表元素: lv_list_add_btn(list1, LV_SYMBOL_FILE, "New"); lv_obj_set_event_cb(list_btn, list_event_handler); OK,本节课就到这里,下节课我们学习一个跟我之前学习的仪表控件类似的控件,不过这里叫线表(lv_lmeter)?没想好该怎么翻译,所以就直译了,那我们下节课见! |