合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container)

这篇具有很好参考价值的文章主要介绍了合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

容器 (Container)
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

容器是 lvgl 相当重要的一个控件了,可以设置布局,容器的大小也会自动进行调整,利用容器可以创建出自适应成都很高的界面布局。

代码示例
– 创建容器
cont = lvgl.cont_create(lvgl.scr_act(), nil)
lvgl.obj_set_auto_realign(cont, true)
lvgl.obj_align(cont, nil, lvgl.ALIGN_CENTER, 0, 0)
lvgl.cont_set_fit(cont, lvgl.FIT_TIGHT)
lvgl.cont_set_layout(cont, lvgl.LAYOUT_COLUMN_MID)

– 添加标签
label = lvgl.label_create(cont, nil)
lvgl.label_set_text(label, “Short text”)

label = lvgl.label_create(cont, nil)
lvgl.label_set_text(label, “It is a long text”)

label = lvgl.label_create(cont, nil)
lvgl.label_set_text(label, “Here is an even longer text”)
创建
容器是通过函数 lvgl.cont_create 创建的。几乎所有的控件创建函数都是需要两个参数,第一个参数是父对象,通常这个控件传的都是容器控件。因为控件父子关系展现的是一个包含关系,在一个 按钮 里创建另一个按钮,虽然也可以这么做,但是从正常角度来看很少有这种需求,毕竟不是谁家门前都有两棵枣树的。

cont = lvgl.cont_create(lvgl.scr_act(), nil)
布局
这个概念是容器控件的一个重点,自动添加到容器内的控件是在左上角叠加显示的。

function img(cont, path)
local pic = lvgl.img_create(cont, nil)
lvgl.img_set_src(pic, path)
end

– 创建主容器
cont = lvgl.cont_create(nil, nil)
lvgl.disp_load_scr(cont)

img(cont, “/lua/png50.png”)
img(cont, “/lua/png40.png”)
img(cont, “/lua/png30.png”)
这段代码首先创建了一个容器,然后向容器添加了三张图片,依靠容器的默认布局显示内容如下:
lvgl.LAYOUT_OFF 也就是没有布局, 所有内容全部叠加显示
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

我们再来看另一种常用的布局 lvgl.LAYOUT_CENTER 居中布局
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

接着看看剩下的布局 lvgl.LAYOUT_COLUMN_LEFT 元素靠左按列排布
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

lvgl.LAYOUT_COLUMN_MID 元素居中按列排布
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

lvgl.LAYOUT_COLUMN_RIGHT 元素靠右按列排布
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

lvgl.LAYOUT_GRID 元素按顶部高度行排列
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

lvgl.LAYOUT_PRETTY_BOTTOM 元素按照底部高度等距排列
合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container),AIR724软件,Air724UG

lvgl.LAYOUT_PRETTY_MID 元素按照居中高度等距排列

lvgl.LAYOUT_PRETTY_TOP 元素按照顶部高度等距排列

lvgl.LAYOUT_ROW_BOTTOM 元素靠底排列

lvgl.LAYOUT_ROW_MID 元素居中排列

lvgl.LAYOUT_ROW_TOP 元素靠顶排列

以上就是容器所有的布局方式。

自适应
容器的另一个特点就是自适应,可以根据子对象或者父对象自动更改容器大小。

lvgl.FIT_NONE – 不会自动更改大小
lvgl.FIT_TIGHT – 将容器紧缩在内容周围
lvgl.FIT_PARENT – 父容器的大小减去 pad_top/bottom/left/right 后的空间。
lvgl.FIT_MAX – 容器至少是父容器大小
API
lvgl.cont_create
调用 lvgl.cont_create(par, copy)
功能 创建一个容器对象
返回 指向创建的容器的指针
参数
par 指向对象的指针, 它将是新容器的父对象
copy 指向容器对象的指针, 如果不为 nil, 则将从其复制新对象
lvgl.cont_set_layout
调用 lvgl.cont_set_layout(cont, layout)
功能 设置容器的布局方式
参数
cont 指向容器对象的指针
layout 容器的布局方式
lvgl.cont_set_fit4
调用 lvgl.cont_set_fit4(cont, left, right, top, bottom)
功能 分别设置容器四个方向上的拟合方式
参数
cont 指向容器对象的指针
left 左边的拟合方式
right 右边的拟合方式
top 顶部的拟合方式
bottom 底部的拟合方式
lvgl.cont_set_fit2
调用 lvgl.cont_set_fit2(cont, hor, ver)
功能 设置水平和垂直方向的拟合方式
参数
cont 指向容器对象的指针
hor 水平方向上的拟合方式
ver 垂直方向上的拟合方式
lvgl.cont_set_fit
调用 lvgl.cont_set_fit(cont, fit)
功能 一次性设置容器四个方向上的拟合方式
参数
cont 指向容器对象的指针
fit 容器四个方向上的拟合方式
lvgl.cont_get_layout
调用 lvgl.cont_get_layout(cont)
功能 获取容器的布局
返回 容器当前的布局方式
参数
cont 指向容器对象的指针
lvgl.cont_get_fit_left
调用 lvgl.cont_get_fit_left(cont)
功能 获取容器左边的拟合方式
返回 获取容器左边的拟合方式
参数
cont 指向容器对象的指针
lvgl.cont_get_fit_right
调用 lvgl.cont_get_fit_right(cont)
功能 获取容器右边的拟合方式
返回 获取容器右边的拟合方式
参数
cont 指向容器对象的指针
lvgl.cont_get_fit_top
调用 lvgl.cont_get_fit_top(cont)
功能 获取容器顶部的拟合方式
返回 获取容器顶部的拟合方式
参数
cont 指向容器对象的指针
lvgl.cont_get_fit_bottom
调用 lvgl.cont_get_fit_bottom(cont)
功能 获取容器底部的拟合方式
返回 获取容器底部的拟合方式
参数
cont 指向容器对象的指针文章来源地址https://www.toymoban.com/news/detail-696078.html

到了这里,关于合宙Air724UG LuatOS-Air LVGL API控件--容器 (Container)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 合宙Air724UG LuatOS-Air LVGL API控件--图表 (Chart)

    图表 (Chart) 一幅图胜过一千个字,通过图表展示出的数据内容能让用户更快速有效的了解数据特征。 代码示例 – 创建图表 chart = lvgl.chart_create(lvgl.scr_act(), nil) lvgl.obj_set_size(chart, 200, 150) lvgl.obj_align(chart, nil, lvgl.ALIGN_CENTER, 0, 0) – 设置 Chart 的显示模式 (折线图) lvgl.chart_set_typ

    2024年02月10日
    浏览(38)
  • 合宙Air724UG LuatOS-Air LVGL API控件--曲线 (Arc)

    曲线 (Arc) 曲线控件,也可以称为弧。因为 Arc 本身就是弧,弧形的意思。根据控件的样子也能推测出它的使用场景,一般用在加载器(就是等待界面转的圈圈)或者数值显示,数值调节这些场景。曲线控件分了两个部分,前景和背景,都可以分别进行设置。 示例代码 – 创建曲

    2024年02月11日
    浏览(53)
  • 合宙Air724UG LuatOS-Air LVGL API控件-键盘 (Keyboard)

    键盘 (Keyboard) LVGL 可以添加触摸键盘,但是很明显,使用触摸键盘的话必须要使用触摸的输入方式,否则无法驱动键盘。 通过  keyboard_create  可以创建键盘,实际上只要这一句就可在界面上显示键盘了。很难得的是,键盘没有复制对象, lvgl.keyboard_create  只需要传入一个参数

    2024年02月09日
    浏览(35)
  • 合宙Air724UG LuatOS-Air LVGL API控件-页面 (Page)

    页面 (Page) 当控件内容过多,无法在屏幕内完整显示时,可让其在  页面  内显示。 通过函数  lvgl.page_create  可以创建一个页面 页面对象可以像容器一样设置各个方向上的匹配模式,可以把需要显示的对象添加进页面进行显示,页面可以作为控件的父容器。就像下面这样,

    2024年02月09日
    浏览(53)
  • 合宙Air724UG LuatOS-Air LVGL API控件-图片(Gif)

    图片(Gif) GIF图片显示,core版本号要=3211 方法一 方法二 lvgl.gif_create 调用 lvgl.gif_create(par) 功能 创建一个GIF图片对象 返回 指向GIF图片对象的指针 参数 par 指向对象的指针, 它将是新键对象的父对象 lvgl.gif_set_src 调用 lvgl.img_set_src(gif, data) 功能 设置GIF图片控件的显示内容 参数

    2024年02月07日
    浏览(45)
  • 合宙Air724UG LuatOS-Air LVGL API控件-标签 (Label)

    标签 (Label) 标签是 LVGL 用来显示文字的控件。 标签是通过  lvgl.label_create  函数创建的。 可以使用  lvgl.label_set_text  设置标签上的文字显示内容。 标签是有宽度的,默认情况下,在设置文字后会自行调整,标签宽度会自动扩充到文本宽度。但是这种显示方式是可以进行更改

    2024年02月09日
    浏览(46)
  • 合宙Air724UG LuatOS-Air LVGL API控件--按钮 (Button)

    按钮 (Button) 按钮控件,这个就不用多说了,界面的基础控件之一。 示例代码 – 按键回调函数 event_handler = function(obj, event) if event == lvgl.EVENT_CLICKED then print(“Clickedn”) elseif event == lvgl.EVENT_VALUE_CHANGED then print(“Toggledn”) end end – 按键1 btn1 = lvgl.btn_create(lvgl.scr_act(), nil) lvgl.o

    2024年02月11日
    浏览(42)
  • 合宙Air724UG LuatOS-Air LVGL API控件-滑动条 (Slider)

    滑动条 (Slider) 滑动条看起来和进度条是有些是有些像,但不同的是滑动条可以进行数值选择。 滑动条是通过  lvgl.slider_create  函数创建的。 滑动条创建完之后设置显示位置就可以进行操作了。 滑动条的使用和 Bar 还是很像的。可以设置数值  lvgl.slider_set_value ,也可以设置显

    2024年02月09日
    浏览(37)
  • 合宙Air724UG LuatOS-Air LVGL API控件-加载器(Spinner)

    加载器(Spinner) 通过  lvgl.spinner_create  就可创建一个加载器,本身自带动画效果。 可以通过  lvgl.spinner_set_arc_length  函数调整加载器的弧长。单位是度,一圈是按 360 度计算的。 通过  lvgl.spinner_set_spin_time  可以设置转速,这里的单位是 ms,是加载器转完一圈的时间,GIF 录制

    2024年02月09日
    浏览(40)
  • 合宙Air724UG LuatOS-Air LVGL API控件-微调框 (Spinbox)

    微调框 (Spinbox) 微调框用于数值调整,有时候我们希望获取一个用户输入的数值,但是又不希望弹出键盘,可以使用微调框。 微调框的创建函数是  spinbox_create ,创建也比较简单。 这里有点需要注意,创建的微调框只有这个:   增大减小按钮是需要自己通过代码创建的,所以

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包