admin管理员组文章数量:1516870
LVGL
LVGL_多界面切换
1、创建多个界面(create_page1();)
2、加载一个界面显示(lv_scr_load(page1);)
3、切换不同界面显示(lv_scr_load_anim(page2, LV_SCR_LOAD_ANIM_OVER_LEFT, 300, 0, false);)
static lv_obj_t * page1;
static lv_obj_t * page2;static void page1_gesture_event_handler(lv_event_t event)
{if (event.code == LV_EVENT_CLICKED) {lv_scr_load_anim(page2, LV_SCR_LOAD_ANIM_OVER_LEFT, 300, 0, false);}
}void create_page1(void)
{// 创建页面1的内容page1 = lv_obj_create(NULL);lv_obj_set_size(page1, LV_HOR_RES, LV_VER_RES);lv_obj_t * btn1 = lv_btn_create(page1);lv_obj_set_pos(btn1, (LV_HOR_RES - 100) / 2, (LV_VER_RES - 50) / 2);lv_obj_set_size(btn1, 150, 50);lv_obj_t * label1 = lv_label_create(btn1);lv_label_set_text(label1, "change page 2");lv_obj_add_event_cb(btn1, page1_gesture_event_handler, LV_EVENT_ALL, NULL);
}static void page2_gesture_event_handler(lv_event_t event)
{if (event.code == LV_EVENT_CLICKED) {lv_scr_load_anim(page1, LV_SCR_LOAD_ANIM_OVER_RIGHT, 1000, 0, false);}
}void create_page2(void)
{// 创建页面2的内容page2 = lv_obj_create(NULL);lv_obj_set_size(page2, LV_HOR_RES, LV_VER_RES);lv_obj_t * btn2 = lv_btn_create(page2);lv_obj_set_pos(btn2, (LV_HOR_RES - 100) / 2, (LV_VER_RES - 50) / 2);lv_obj_set_size(btn2, 150, 50);lv_obj_t * label2 = lv_label_create(btn2);lv_label_set_text(label2, "change page 1");lv_obj_add_event_cb(btn2, page2_gesture_event_handler, LV_EVENT_ALL, NULL);
}int main(void)
{// 初始化LVGL库lv_init();create_page1();create_page2();// 显示页面1lv_scr_load(page1);while (1) {lv_task_handler();}return 0;
}
本文标签: LVGL
版权声明:本文标题:LVGL 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://www.betaflare.com/biancheng/1700378178a314640.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


发表评论