LVGL 8.2 Menu

133 篇文章 112 订阅

Simple Menu

static void lv_example_menu_1(void)
{
    /*Create a menu object*/
    lv_obj_t* menu = lv_menu_create(lv_scr_act()); // 创建菜单对象
    lv_obj_set_size(menu, lv_disp_get_hor_res(NULL), lv_disp_get_ver_res(NULL));//设置大小
    lv_obj_center(menu); //居中显示
    lv_obj_t* cont; 
    lv_obj_t* label;
    /*Create a sub page*/
    lv_obj_t* sub_page = lv_menu_page_create(menu, NULL); //创建菜单子页sub_page
    cont = lv_menu_cont_create(sub_page); //在sub_page对象上创建cont容器
    label = lv_label_create(cont);  // 在cont上创建Label
    lv_label_set_text(label, "Hello, I am hiding here"); //设置显示内容
    /*Create a main page*/
    lv_obj_t* main_page = lv_menu_page_create(menu, NULL); //创建菜单子页main_page 
    cont = lv_menu_cont_create(main_page); //在main_page 对象上创建cont容器
    label = lv_label_create(cont);  // 在cont上创建Label
    lv_label_set_text(label, "Item 1");  //设置显示内容Item 1
    cont = lv_menu_cont_create(main_page); //在main_page 对象上创建cont容器
    label = lv_label_create(cont);  // 在cont上创建Label
    lv_label_set_text(label, "Item 2"); //设置显示内容Item 2
    cont = lv_menu_cont_create(main_page); //在main_page 对象上创建cont容器
    label = lv_label_create(cont); // 在cont上创建Label
    lv_label_set_text(label, "Item 3 (Click me!)"); //设置显示内容Item 3 (Click me!)
    lv_menu_set_load_page_event(menu, cont, sub_page);//设置菜单menu中cont容器被点击后跳转到sub_page
    lv_menu_set_page(menu, main_page);//设置main_page为当前menu的显示页
}

运行效果

在这里插入图片描述

item1和item2增加跳转页

static void lv_example_menu_1(void)
{
    /*Create a menu object*/
    lv_obj_t* menu = lv_menu_create(lv_scr_act());
    lv_obj_set_size(menu, lv_disp_get_hor_res(NULL), lv_disp_get_ver_res(NULL));
    lv_obj_center(menu);
    lv_obj_t* cont;
    lv_obj_t* label;
    /*Create a sub page*/
    lv_obj_t* sub_page = lv_menu_page_create(menu, NULL);
    cont = lv_menu_cont_create(sub_page);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Hello, I am hiding here");

    lv_obj_t* sub_page1 = lv_menu_page_create(menu, NULL);
    cont = lv_menu_cont_create(sub_page1);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Hello, I am a sub_page1");

    lv_obj_t* sub_page2 = lv_menu_page_create(menu, NULL);
    cont = lv_menu_cont_create(sub_page2);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Hello, I am a sub_page2");


    /*Create a main page*/
    lv_obj_t* main_page = lv_menu_page_create(menu, NULL);
    cont = lv_menu_cont_create(main_page);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Item 1");
    lv_menu_set_load_page_event(menu, cont, sub_page1);
    cont = lv_menu_cont_create(main_page);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Item 2");
    lv_menu_set_load_page_event(menu, cont, sub_page2);
    cont = lv_menu_cont_create(main_page);
    label = lv_label_create(cont);
    lv_label_set_text(label, "Item 3 (Click me!)");
    lv_menu_set_load_page_event(menu, cont, sub_page);
    lv_menu_set_page(menu, main_page);
}

运行效果

在这里插入图片描述

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值