【LVGL-界面切换】

发布于:2024-03-29 ⋅ 阅读:(20) ⋅ 点赞:(0)

■ 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 后查看