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),
};
本文含有隐藏内容,请 开通VIP 后查看