mirror of
https://github.com/lvgl/lvgl.git
synced 2025-01-28 07:03:00 +08:00
70 lines
2.1 KiB
C
70 lines
2.1 KiB
C
#include "../../lv_examples.h"
|
|
#if LV_USE_MENU && LV_BUILD_EXAMPLES
|
|
|
|
static uint32_t btn_cnt = 1;
|
|
static lv_obj_t * main_page;
|
|
static lv_obj_t * menu;
|
|
|
|
static void float_button_event_cb(lv_event_t * e)
|
|
{
|
|
LV_UNUSED(e);
|
|
|
|
btn_cnt++;
|
|
|
|
lv_obj_t * cont;
|
|
lv_obj_t * label;
|
|
|
|
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_fmt(label, "Hello, I am hiding inside %"LV_PRIu32"", btn_cnt);
|
|
|
|
cont = lv_menu_cont_create(main_page);
|
|
label = lv_label_create(cont);
|
|
lv_label_set_text_fmt(label, "Item %"LV_PRIu32"", btn_cnt);
|
|
lv_menu_set_load_page_event(menu, cont, sub_page);
|
|
|
|
lv_obj_scroll_to_view_recursive(cont, LV_ANIM_ON);
|
|
}
|
|
|
|
void lv_example_menu_4(void)
|
|
{
|
|
/*Create a menu object*/
|
|
menu = lv_menu_create(lv_screen_active());
|
|
lv_obj_set_size(menu, lv_display_get_horizontal_resolution(NULL), lv_display_get_vertical_resolution(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 inside the first item");
|
|
|
|
/*Create a main page*/
|
|
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_page);
|
|
|
|
lv_menu_set_page(menu, main_page);
|
|
|
|
/*Create floating btn*/
|
|
lv_obj_t * float_btn = lv_button_create(lv_screen_active());
|
|
lv_obj_set_size(float_btn, 50, 50);
|
|
lv_obj_add_flag(float_btn, LV_OBJ_FLAG_FLOATING);
|
|
lv_obj_align(float_btn, LV_ALIGN_BOTTOM_RIGHT, -10, -10);
|
|
lv_obj_add_event_cb(float_btn, float_button_event_cb, LV_EVENT_CLICKED, menu);
|
|
lv_obj_set_style_radius(float_btn, LV_RADIUS_CIRCLE, 0);
|
|
lv_obj_set_style_bg_image_src(float_btn, LV_SYMBOL_PLUS, 0);
|
|
lv_obj_set_style_text_font(float_btn, lv_theme_get_font_large(float_btn), 0);
|
|
}
|
|
|
|
#endif
|