![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
LittleVGL
贾贾乾杯
学无止境,为世界之光!
展开
-
littleVGL学习笔记18——lv_gauge 仪表盘
1. 介绍 我们前一章已经学习过了lv_lmeter控件了,再来学习lv_gauge仪表盘控件就会简单很多,因为 lv_gauge 控件就是由 lv_lmeter 控件外加一些其他附件构成的,这里的附件有 lv_label 标签,指针,中心圆点等三个元素,其中标签的个数和指针的个数都是可以通过接口来设置的,在 lv_gauge 控件中,它将lv_lmeter 控件中的非活跃刻度线的概念给转变了一下,现在它叫关键数值点(Critical value),超过此数值点后的所有刻度线可以被样式中 line.co原创 2020-08-16 23:13:38 · 2934 阅读 · 2 评论 -
littleVGL学习笔记17——lv_lmeter 刻度指示器
1. 介绍 lv_lmeter 控件是一种类似于汽车仪表盘上的弧形刻度,它是由一些径向放射状的刻度线构成,它的主要作用就是进度指示,在所有的刻度线中,可以分为 2 种,一种是活跃刻度线,它利用样式中的 body.main_color 和 body.grad_color 属性,可以让活跃刻度线显示出弧形渐变色,活跃刻度线的作用就是展示当前的进度值,配合渐变色,可以达到更为友好更为直观的提示作用,另外一种就是非活跃刻度线了,它的颜色由 line.color 指定,一般为灰色,用来作为背景线,表示还剩下多少进原创 2020-08-14 22:33:08 · 2091 阅读 · 0 评论 -
littleVGL学习笔记16——lv_btnm 矩阵按钮
1. 介绍lv_btnm 矩阵按钮对象你可以看作是一系列伪按钮的集合,只不过它是以行和列有序的方式来排列这些子按钮,名称中的 m 就是 matrix(矩阵)的缩写,注意了,我这里故意加了一个伪字来说明它不是真正的 lv_btn 按钮对象,而是 lv_btnm 内部纯绘制出来的具有按钮外观的图形,而且这个图形具有和 lv_btn 按钮一样的点击效果,这种伪按钮的好处是它基本不占内存消耗(一个伪按钮大概需要 8 个字节),这属于 littleVGL 的一种优化操作,所以如果你有多个按钮集合的应用场景的话,请最原创 2020-08-13 22:54:04 · 1633 阅读 · 0 评论 -
littleVGL学习笔记15——lv_sw 开关
1. 介绍 lv_sw 开关看起来像是一个缩小版的 lv_slider 滑块控件,那我可以告诉大家,它的本质就是一个 lv_slider 滑块控件,然后在此上面做一些小的升级,就变成了 lv_sw 开关控件。 lv_sw 控件具有开和关俩种状态,我们可以通过如下三种方式来改变它的状态:点击这个开关控件;滑动这个开关控件,它会根据你滑动的位置来自动决定状态的;使用 lv_sw_on(sw, LV_ANIM_ON/OFF), lv_sw_off(sw,LV_ANIM_ON/OFF), lv_sw原创 2020-08-07 19:10:14 · 897 阅读 · 0 评论 -
littleVGL学习笔记14——lv_slider 滑块
1. 介绍 lv_slider 滑块是由 lv_bar 进度条对象外加一个类似于旋钮的东西构成的,这个旋钮可以被拖拽来设置 lv_slider 滑块的值,和 lv_bar 进度条一样,lv_slider 也可以被设置成是水平滑块或者是垂直滑块,不仅如此,lv_bar 对象上的大部分特性在 lv_slider 对象上基本都能找到,比如设置进度值,动画时间,设置最小最大范围等等,API 接口的用法基本是一模一样的.最后来说一下它的事件,当滑块被点击或者滑块上面的旋钮被拖拽导致其进度值发生变化时,它就会给它的原创 2020-08-06 22:29:47 · 1603 阅读 · 0 评论 -
littleVGL学习笔记13——lv_line 线条
1. 介绍 lv_line 线条简单来说是由多个点连接而成的对象,它可以通过 lv_obj_set_size 接口来设置固定的大小,也可以通lv_line_set_auto_size(line,true)接口来设置线条对象的大小自适应,它会根据其内部所有点中最大的 x 和 y 坐标来算出自身的大小,默认情况下,大小自适应功能是被使能了的,对于线条对象来说,其内部的所有点坐标默认情况下都是以其左上角为参考原点的,当然了,你可以通过 lv_line_set_y_invert(line, true)接口来反转原创 2020-08-05 22:09:30 · 1817 阅读 · 0 评论 -
littleVGL学习笔记12——lv_cb 复选框
1. 介绍 lv_cb 复选框是由 3 部分组成的,第一部分是最外层的背景,第二部分是内部左侧的小方块,这个小方块其实就是一个 lv_btn 按钮,所以这个小方块也具有 5 种状态和相应的 5 个样式,第三部分是内部右侧的文本,这个文本其实就是 lv_label 标签,可以通过 lv_cb_set_text 接口来给复选框设置文本,通过 lv_cb_set_checked 接口来设置复选框是否被选中,当复选框被点击时,它会发送一个 LV_EVENT_VALUE_CHANGED 事件给它的事件回调函数,然原创 2020-08-05 11:48:41 · 522 阅读 · 0 评论 -
littleVGL学习笔记11——lv_bar 进度条
1. 介绍 lv_bar 进度条它由背景和指示器俩部分构成,这俩部分的样式都可以被单独设置,然后此进度条会根据它的宽和高的大小来自动决定它是水平进度条还是垂直进度条,可以通过lv_bar_set_range 接口来设置进度条的数值范围,通过lv_bar_set_value 接口来设置一个新的进度值,与此同时可选一个进度变化的动画效果,整体上来看,这个控件的使用还是比较简单的。2. lv_bar 的 API 接口2.1 主要数据类型2.1.1 进度条样式数据类型enum {LV_BAR_STY原创 2020-08-01 20:42:35 · 1717 阅读 · 0 评论 -
littleVGL学习笔记10——lv_led 指示灯
1. 介绍 lv_led 控件就是一个简单的指示灯,它的外形可以通过样式来修改,简单的来说一般为一个小圆点或者一个小矩形,它具有一个 0 到 255 级可调的亮度属性,当为 0 时代表最暗,为 255时代表最亮,基于此亮度属性,又引出了 OFF 和 ON 俩种状态的概念,当为 OFF 状态时,其本质就是设置亮度值为 100,当为 ON 状态时,其本质就是设置亮度值为 255,整体上来说,这个控件的使用非常简单。2. lv_led 的 API 接口API 接口2.1 创建对象lv_obj_t *原创 2020-07-28 22:48:00 · 1993 阅读 · 0 评论 -
littleVGL——Events 事件总结
1. 介绍 在 littleVGL 中任何对象都可以注册事件,这是在新版本中才加入的特性,分为通用事件和专用事件,总共支持 20 种事件类型,事件可以是由 littleVGL 库自身触发的,也可以是由外部物理操作触发的,比如触摸,点击等,我们也可以通过调用 lv_event_send 接口来手动发送事件进行触发,同时可以携带用户自定义的数据。2. Events 的 API 接口2.1 主要数据类型2.1.1 事件数据类型enum {LV_EVENT_PRESSED,//对象被按下时触发,每次按原创 2020-07-25 21:10:23 · 3385 阅读 · 1 评论 -
littleVGL学习笔记9——lv_btn 按钮
1. 介绍 和 lv_label标签控件一样重要,除了能显示文本外,它的主要用途是和用户进行交互,lv_btn 按钮其实就是一个 lv_cont容器的复杂变体,另外加上可选的子对象,最常用的子对象就是 lv_label 标签,在 littleVGL 中,lv_btn 按钮具有 5 种状态,如下所示:LV_BTN_STATE_REL: 按钮的正常释放状态LV_BTN_STATE_PR: 按钮的正常按下状态LV_BTN_STATE_TGL_REL: 按钮的切换(Toggle)释放状态LV_BTN_S原创 2020-07-24 19:36:03 · 3571 阅读 · 0 评论 -
littleVGL学习笔记8——lv_cont 容器
1. 介绍 所谓的容器就是一个载体,用来装东西的,在 littleVGL 中,可以用来存放各种各样的子对象,当子对象的数量越来越多时,子对象们在父容器中的排列方式就显得尤为重要,因此lv_cont 容器就有一个专门的 Layout 布局属性来约束子对象们的摆放,layout 布局间隙是由样式来控制的,具体表现在 style.body.padding 样式属性上,lv_cont 容器除了 layout 这个重要特性外,还有一个 Auto fit 大小自动适应的特性。2. lv_cont 的 API 接口转载 2020-07-21 22:51:58 · 3459 阅读 · 0 评论 -
littleVGL学习笔记7——lv_style 样式
1.介绍 利用样式可以对 UI 界面进行重绘和重用,利用多个不同的样式来形成 Theme主题系统,所以样式在 littleVGL 中有着很重要的地位。对于 lv_obj 基础对象而言,每一个对象都会有一个 lv_style 样式,但对于一个其他的控件(比如 lv_btn 按钮控件)而言,可能会拥有多个样式,因为一个稍微复杂点的控件可能是由多个子部件组成的,而每一个子部件可能都需要相应的样式来修饰,所以表面上看来,这个控件拥有了多个样式。 一个样式主要是由 body 背景,text 文本,image原创 2020-07-16 23:14:15 · 9113 阅读 · 0 评论