Hi,大家好,欢迎来到树莓派之littlevGL课堂,我们在上节课中学习了线条控件,本节课我们学习列表控件,废话不多说! 一 有图有真相 这就是列表控件,大家有没有想到什么具体应用场景呢?其实,列表还有蛮多的应用场景的,比如文件列表,歌曲列表等等,大家可以继续思考一下还有什么地方可以应用列表控件。 二 代码分析 用户可下载"圆弧对象(lv_arc)的使用"文章末尾的Demo工程(点击我直接下载),参考圆弧对象(lv_arc)的使用文章,将以下Demo代码复制到Demo工程test.c文件空白处.然后在test.c文件的create_test()函数中增加list_test()函数测试。 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)?没想好该怎么翻译,所以就直译了,那我们下节课见! |