
lv_obj_set_x(obj1, -30); /*Move the child a little bit of the parent*/
1.3.4 创建-删除对象
在 LVGL 中,可以在运行时动态创建和删除对象。这意味着仅当前创建的对象消耗 RAM。例如,如果需要图
表,则可以在需要时创建它,并在不可见或不必要时将其删除。
每个对象类型都有自己的带有统一原型的创建功能。它需要两个参数:
(1) 指向父对象的指针。要创建屏幕,请以 NULL 作为父级。
(2) (可选)用于复制具有相同类型的对象的指针。该复制对象可以为 NULL,以避免复制操作。
所有对象均以 C 语言中的 lv_obj_t 指针作为句柄进行引用。以后可以使用该指针设置或获取对象的属性。
创建函数如下所示:
lv_obj_t * lv_ <type>_create(lv_obj_t * parent, lv_obj_t * copy);
所有对象类型都有一个通用的删除功能。它删除对象及其所有子对象。
void lv_obj_del(lv_obj_t * obj);
lv_obj_del 将立即删除该对象。如果由于任何原因无法立即删除对象,可以使用 lv_obj_del_async(obj)。这很有
用,例如,如果您想在子 LV_EVENT_DELETE 信号中删除对象的父对象。
您可以使用以下方法删除对象的所有子对象(但不能删除对象本身)lv_obj_clean:
void lv_obj_clean(lv_obj_t * obj);
1.4 屏幕
1.4.1 创建屏幕
屏幕是没有父对象的特殊对象。因此,可以像这样创建它们:
lv_obj_t * scr1 = lv_obj_create(NULL, NULL);
可以使用任何对象类型创建屏幕。例如,创建墙纸的基础对象或图像。
1.4.2 获取活动屏幕
每个显示器上始终有一个活动屏幕。默认情况下,该库为每个显示创建并加载一个“基础对象”作为屏幕。
要获取当前活动的屏幕,请使用函数 lv_scr_act()来获取活动屏幕。
评论3
最新资源