LVGL-界面切换
- ■ LVGL-界面切换
- ■ 方法一: 删除法
- ■ 方法二: 隐蔽法
■ LVGL-界面切换
■ 方法一: 删除法
当用户删除一个父对象时,它所有的子对象也会被一并删除。
可以调用 lv_obj_del 函数,直接删除基础对象(父对象) , 然后再创建新的界面。
■ 方法二: 隐蔽法
将界面隐藏起来,当用户使用此方法切换界面时,需要考虑内存溢出的隐患。
void lv_obj_add_flag(lv_obj_t *obj, lv_obj_flag_t f); //设置一个或多个标志
void lv_obj_clear_flag(lv_obj_t *obj, lv_obj_flag_t f); //清除一个或多个标志enum {LV_OBJ_FLAG_HIDDEN = (1L << 0), /* 隐藏 */LV_OBJ_FLAG_CLICKABLE = (1L << 1),LV_OBJ_FLAG_CLICK_FOCUSABLE = (1L << 2),LV_OBJ_FLAG_CHECKABLE = (1L << 3),LV_OBJ_FLAG_SCROLLABLE = (1L << 4),LV_OBJ_FLAG_SCROLL_ELASTIC = (1L << 5),LV_OBJ_FLAG_SCROLL_MOMENTUM = (1L << 6),LV_OBJ_FLAG_SCROLL_ONE = (1L << 7),LV_OBJ_FLAG_SCROLL_CHAIN_HOR = (1L << 8),LV_OBJ_FLAG_SCROLL_CHAIN_VER = (1L << 9),LV_OBJ_FLAG_SCROLL_CHAIN = (LV_OBJ_FLAG_SCROLL_CHAIN_HOR |LV_OBJ_FLAG_SCROLL_CHAIN_VER),LV_OBJ_FLAG_SCROLL_ON_FOCUS = (1L << 10),LV_OBJ_FLAG_SCROLL_WITH_ARROW = (1L << 11),LV_OBJ_FLAG_SNAPPABLE = (1L << 12),LV_OBJ_FLAG_PRESS_LOCK = (1L << 13),LV_OBJ_FLAG_EVENT_BUBBLE = (1L << 14),LV_OBJ_FLAG_GESTURE_BUBBLE = (1L << 15),LV_OBJ_FLAG_ADV_HITTEST = (1L << 16),LV_OBJ_FLAG_IGNORE_LAYOUT = (1L << 17),LV_OBJ_FLAG_FLOATING = (1L << 18),LV_OBJ_FLAG_OVERFLOW_VISIBLE = (1L << 19),LV_OBJ_FLAG_LAYOUT_1 = (1L << 23),LV_OBJ_FLAG_LAYOUT_2 = (1L << 24),LV_OBJ_FLAG_WIDGET_1 = (1L << 25),LV_OBJ_FLAG_WIDGET_2 = (1L << 26),LV_OBJ_FLAG_USER_1 = (1L << 27),LV_OBJ_FLAG_USER_2 = (1L << 28),LV_OBJ_FLAG_USER_3 = (1L << 29),LV_OBJ_FLAG_USER_4 = (1L << 30),
};