银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-12-16 | yang | 初次建立 |
容器本质上是具有布局和自动调整大小功能的基本对象。只有一种主要样式 LV_CONT_PART_MAIN ,可以使用所有典型的属性和填充来自动调整布局大小。
用户可以使用 lv_cont_set_layout(cont, LV_LAYOUT_… ) 在容器上应用布局来自动对其子对象进行排序,布局间距来自style.body.padding… 属性。可能的布局选项:
容器具有自动适应功能,可以根据其子对象和父对象自动更改容器的大小。存在以下选项:
要为各个方向设置自动适应模式,请使用 lv_cont_set_fit(cont, LV_FIT_…) 。要在水平和垂直方向上使用不同的自动适应,请使用 lv_cont_set_fit2(cont, hor_fit_type, ver_fit_type) 。要在所有四个方向上使用不同的自动拟合,请使用 lv_cont_set_fit4(cont, left_fit_type, right_fit_type, top_fit_type, bottom_fit_type)。
void lv_gui_run(void){ lvgl2rtt_init("lcd"); /* 初始化lvgl2rtt */ lv_obj_t * cont = lv_cont_create(lv_scr_act(), NULL);/* 创建容器 */ lv_obj_set_auto_realign(cont, true); /* 尺寸改变时,自动调整大小 */ lv_obj_align_origo(cont, NULL, LV_ALIGN_CENTER, 0, 0);/* 设置对齐方式*/ lv_cont_set_fit(cont, LV_FIT_TIGHT); /* 设置填充 */ lv_cont_set_layout(cont, LV_LAYOUT_COLUMN_MID); /* 设置布局,对其在中间列 */ lv_obj_t * label = lv_label_create(cont, NULL); /* 创建子标签 */ lv_label_set_text(label, "Short text"); /* 设置内容 */ uint32_t t; lv_refr_now(NULL); t = lv_tick_get(); /* 获取LVGL心跳,1ms增1 */ while(lv_tick_elaps(t) < 500); /* 延时500ms */ label = lv_label_create(cont, NULL); /* 创建新的子标签 */ lv_label_set_text(label, "It is a long text"); lv_refr_now(NULL); t = lv_tick_get(); while(lv_tick_elaps(t) < 500); /* 延时500ms */ label = lv_label_create(cont, NULL); /* 创建新的子标签 */ lv_label_set_text(label, "Here is an even longer text"); }