随笔分类 -  嵌入式开发 / 06. LVGL图形化设计

摘要:一、LVGL字库 LVGL 的字体功能是较为强大的:支持 UTF-8 编码、图标字体、自定义字体、最高 8bpp 的抗锯齿,等等。值得注意的是,bpp 值越大,字体的边缘会越平滑,但其对内存的占用就越多,在界面上进行字体渲染时,绘制速度也会越慢,一般的项目,采用 4bpp 就足够了。 LVGL 支持 阅读全文
posted @ 2024-09-04 19:11 星光映梦 阅读(560) 评论(0) 推荐(0)
摘要:一、布局管理 我们可以使用 lv_obj_set_pos(obj, x, y) 函数调整一个控件的位置(或者使用类似的函数单独调整一个方向的坐标),将它放在相对父容器左上角的合适位置。如果两个控件间没有包含关系,可以使用 lv_obj_align_to(obj, base, align, x_ofs 阅读全文
posted @ 2024-09-02 20:58 星光映梦 阅读(1033) 评论(0) 推荐(0)
摘要:一、软件定时器 LVGL 有一个内置的软件定时器,它构建在硬件定时器基础之上,使系统能够提供不受硬件定时器资源限制的定时服务,其实现的功能与硬件定时器也是类似的。因为 lv_timer_handler() 函数并不是准时调用的,所以导致了软件定时器有一定的误差。 LVGL 官方提供一些与定时器相关的 阅读全文
posted @ 2024-08-31 20:48 星光映梦 阅读(675) 评论(0) 推荐(0)
摘要:一、动画图象部件 动画图像相当于图片部件的一种延伸,它拥有多个图片源,这些图片经过一定顺序的展现后,就会形成动画的效果。动画图像部件只有一个组成部分:主体背景(LV_PART_MAIN)。 动画图像的实现原理很简单:将多张连贯的照片按顺序展现。在 LVGL 动画图像部件中,使用图像源的数组形式来提供 阅读全文
posted @ 2024-08-29 22:00 星光映梦 阅读(298) 评论(0) 推荐(0)
摘要:一、LED部件 LED 部件常用于指示硬件的状态,它的亮度与背景颜色深度有关,亮度越低,对应的背景颜色越深。LED 部件只有一个组成部分:主体(LV _PART_MAIN)。 LVGL 官方提供了一些与 LED 部件相关 API。 lv_obj_t * lv_led_create(lv_obj_t 阅读全文
posted @ 2024-08-27 21:12 星光映梦 阅读(122) 评论(0) 推荐(0)
摘要:一、Span部件 Span 部件常用于文本的修饰,它可以汇聚不同字体、颜色和大小的文本。Span 部件的组成部分仅有一个:主体(LV_PART_MAIN)。 LVGL 官方提供了一些与 Span 部件相关 API。 lv_obj_t * lv_spangroup_create(lv_obj_t * 阅读全文
posted @ 2024-08-25 19:59 星光映梦 阅读(353) 评论(0) 推荐(0)
摘要:一、日历部件 日历部件可以展现当前的日期,并帮助用户快速浏览每月的日程安排。日历部件由两个部分组成:主体背景(LV_PART_MAIN)和 各个按钮(LV_PART_ITEMS)。 LVGL 官方提供了一些与日历部件相关 API。 lv_obj_t * lv_calendar_create(lv_o 阅读全文
posted @ 2024-08-23 20:58 星光映梦 阅读(191) 评论(0) 推荐(0)
摘要:一、画布部件 在 LVGL 的画布部件中,用户可以绘制任何内容,并为其添加特殊效果,该部件会使用 LVGL 的绘图引擎来绘制这些内容。画布部件只有一个组成部分:主体(LV_PART_MAIN)。 LVGL 官方提供了一些与画布部件相关 API。 lv_obj_t * lv_canvas_create 阅读全文
posted @ 2024-08-21 21:20 星光映梦 阅读(299) 评论(0) 推荐(0)
摘要:一、菜单部件 菜单小部件可轻松创建多级菜单。命令、子菜单或者分隔条都可包括在菜单之中。每一个创建的菜单至多有四级子菜单。菜单部件是一组通常在功能上相关的命令或部件的容器。提供特殊的布局行为,并支持用户启动的工具栏大小调整和排列。 菜单小部件是由两个大类构建而成,第一个大类为 主容器,第二个大类为 侧 阅读全文
posted @ 2024-08-19 20:02 星光映梦 阅读(434) 评论(0) 推荐(0)
摘要:一、消息框部件 消息框即消息弹窗,它可用于消息通知、内容提示、信息确认,等等。消息框部件可以设置为模态或非模态,当用户选择模态时,消息框弹出,仅有消息框的区域可点击,其他区域的点击无效。消息框部件是由多个小部件构建而成的,包括:主体、标题、关闭按钮、内容 和 按钮矩阵,示意图如下所示: LVGL 官 阅读全文
posted @ 2024-08-17 22:30 星光映梦 阅读(311) 评论(0) 推荐(0)
摘要:一、窗口部件 窗口部件可以作为一个容器,展现不同功能的页面。窗口部件就是一个灵活的页面,它常用于任务的前后台切换、多任务协同处理等场景。窗口部件是由四个小部件组成,示意图如下所示: LVGL 官方提供了一些与窗口部件相关 API。 lv_obj_t * lv_win_create(lv_obj_t 阅读全文
posted @ 2024-08-15 20:44 星光映梦 阅读(170) 评论(0) 推荐(0)
摘要:一、平铺视图部件 平铺视图部件 常用于多页面的切换,它的每一个页面就相当于一个容器,用户可以往里面装入自己需要的内容(例如其他的部件),与选项卡视图部件不同的是,它是通过滑动的形式切换页面的,并没有按钮矩阵。平铺视图部件的组成部分只有一个:主体容器(lv_obj),示意图如下所示: 上图中,每一个 阅读全文
posted @ 2024-08-13 22:21 星光映梦 阅读(287) 评论(0) 推荐(0)
摘要:一、选项卡部件 选项卡视图部件常用于多页面的切换,它的每一个页面就相当于一个容器,用户可以往里面装入自己需要的内容(例如其他的部件)。 选项卡视图部件由 按钮矩阵 和 主体容器 两部分组成,如果用户需要修改这两部分的样式,则必须先获取相应的组成部分。 LVGL 官方提供了一些与选项卡视图部件相关 A 阅读全文
posted @ 2024-08-11 20:16 星光映梦 阅读(404) 评论(0) 推荐(0)
摘要:一、图片按钮部件 图片按钮部件和按钮部件是非常相似的,它只不过是在按钮部件的基础上增加了图片显示的功能。图片按钮部件只有一个组成部分:主体(LV_PART_MAIN)。图片按钮部件支持 C 语言数组或者外部存储器读取图片源,但它并不支持图标字体。 LVGL 官方提供了一些与图片按钮部件相关 API。 阅读全文
posted @ 2024-08-09 20:14 星光映梦 阅读(258) 评论(0) 推荐(0)
摘要:一、图片部件 图片部件可用于显示图片,其图片源可以是 C 语言数组格式的文件、二进制的.bin 文件以及图标字体。图片部件要显示 BMP、JPEG 等格式的图片,则必须经过解码。图片部件的组成部分仅有一个:主体(LV_PART_MAIN)。 LVGL 官方提供了一些与图片部件相关 API。 #def 阅读全文
posted @ 2024-08-07 21:24 星光映梦 阅读(591) 评论(0) 推荐(0)
摘要:一、图标部件 图表可以将数据可视化,更加直观地显示数据、对比数据、分析数据。LVGL 的图表部件支持两种图形:折线图 和 条形图。 图表部件由六个部分组成: 主体部分(LV_PART_MAIN):主要设置背景属性和线条(用于分隔线)相关的样式属性。 滚动条部分(LV_PART_SCROLLBAR): 阅读全文
posted @ 2024-08-05 20:18 星光映梦 阅读(350) 评论(0) 推荐(0)
摘要:一、表格部件 在 LVGL中,表格部件是由一个个单元格组成的,表格部件的单元格中只能存放文本形式的内容,不支持存放其他任何类型的对象或者部件。表格部件由两个部分组成:主体背景(LV_PART_MAIN)和 单元格(LV_PART_ITEMS)。 LVGL 官方提供了一些与表格部件相关 API。 lv 阅读全文
posted @ 2024-08-03 20:10 星光映梦 阅读(234) 评论(0) 推荐(0)
摘要:一、列表部件 列表部件常用于多选一的场景,默认会展现多个选项。列表部件由两个部分组成:主体背景(LV_PART_MAIN)和 滚动条(LV_PART_SCROLLBAR)。 LVGL 官方提供了一些与列表部件相关 API。 lv_obj_t * lv_list_create(lv_obj_t * p 阅读全文
posted @ 2024-08-01 20:43 星光映梦 阅读(227) 评论(0) 推荐(0)
摘要:一、加载器部件 加载器部件常用于提示当前任务正在加载,它是由 主体背景(LV_PART_MAIN)和 指示器(LV_PART_INDICATOR)组成的,示意图如下所示: 用户需要 创建加载器部件,可调用 lv_spinner_create() 函数。 /** * @brief 创建加载器部件 * 阅读全文
posted @ 2024-06-27 22:29 星光映梦 阅读(232) 评论(0) 推荐(0)
摘要:一、进度条部件 进度条部件(lv_bar)部件由两个部分组成:背景(LV_PART_MAIN)和 指示器(LV_PART_INDICATOR),示意图如下: LVGL 官方提供了一些与进度条部件相关 API,如下表所示: lv_obj_t * lv_bar_create(lv_obj_t * par 阅读全文
posted @ 2024-06-25 22:12 星光映梦 阅读(253) 评论(0) 推荐(0)