技术标签: LVGL
标签本身是使用的最多的一个空间,主要作用是用来显示文本信息的.支持换行,图标字体,部分文本重绘色,长文本显示等.
API接口很多,在原子的资料里也写得很清楚,只罗列一些我常用的API.
lv_label_set_text_fmt
使用方法和
printf
很接近,示例:
lv_label_set_text_fmt(now_label, "%d", (val_last));
,需要注意的是,这个文本内容是动态文本,真正显示内容的内存空间是lvgl自己分配的.
lv_label_set_align(lv_obj_t * label, lv_label_align_t align)
设定文本对齐方式,共三种方式,左右对齐和剧中对齐.
LV_LABEL_ALIGN_LEFT
LV_LABEL_ALIGN_CENTER
LV_LABEL_ALIGN_RIGHT
lv_label_set_recolor(lv_obj_t * label, bool en)
文本重绘色功能是否打开.
lv_label_set_style(lv_obj_t * label, lv_label_style_t type, const lv_style_t * style)
设定传入
label
对象的style
,type
目前只有LV_LABEL_STYLE_MAIN
一个选项.
简单理解,样式基本等价于控件的共有属性,比如颜色,宽度等.但是有些特殊的控件拥有一些特殊的属性,比如圆角半径,边框透明度等,所以LVGL里的样式包含大量属性,对于一些控件来说,必然会存在一些冗余而用不到的属性.
如下所示,图来自于原子的资料,一共分为5大块.
body是背景的属性,比如绘制按钮,属性框等.
main_color
和grad_color
分别为背景板的上半部分颜色和下半部分颜色,如果两者颜色不等,LVGL内部会对做出一个上半部分到下半部分的颜色渐变效果.radius
设定背景板的圆角半径.opa
设定该面板的透明属性,当透明度比较低的时候可以看到后面的内容.board
设定面板边框属性.
part
是绘制哪几条边框.opa
是边框透明度(0-255).shadow
设定阴影效果
type
阴影的类型,是四周全部阴影还是只是底部阴影(只有两个选择).padding
内边距,四个方向距离对象的距离.
inner
是容器内每个对象的间隔,和字体的间隔不一样.以下图为例.
途中黄色部分是阴影效果.
绿色部分是边框效果.
红黑色部分为main_color
和grad_color
效果.
四个角的弧度为radius
设定的效果.
文本的属性,各个成员变量也比较好理解.说一下下面两个.
letter_spcae
是字母间的间隔line_space
是行与行之间的间隔图像的属性,这个要记录一下.
color
和intense
指定混合颜色和混合强度,将图片的每一个像素点与指定颜色按照指定强度混合产生新的像素点数据.
intense
属性取值范围0-255.
opa
图像的透明度,取值范围0-255.
备注: 以上图举例,屏幕中间的闹钟图片当intense
为200时,比较偏向于红色,当intense
为1时,基本无限趋近于白色.
属性从字面意思就可以得知.说一下rounded
,为1代表末尾用圆角绘制.如下图.
这个比较简单,当为1时,子对象无法从父对象继承样式.为0时,子对象如果样式为NULL,则从父对象继承样式.
在LVGL里面内置了13个系统自带样式.效果如下所示.
备注: 这些系统内置样式的glass
都为1,意味着这些样式无法被继承.
样式相关的API使用最多的是下面几个.
lv_style_copy(lv_style_t * dest, const lv_style_t * src)
将
src
的样式拷贝到dest
中.
lv_obj_set_style(lv_obj_t * obj, const lv_style_t * style)
设定对象的样式,如果不是基础对象则使用
lv_xxx_set_style(lv_obj_t *obj, lv_xxx_style_t type, const lv_style_t * style)
lv_obj_refresh_style(lv_obj_t * obj)
通知
obj
对象,样式已经改变,刷新样式,如果不调用,则下次运行lv_task_handler()
的时候才会刷新.
下面给出一个例子.
lv_obj_t* bg_img = lv_img_create(lv_scr_act(), NULL);
lv_img_set_src(bg_img, "S:./alarm_clock.bin");
lv_obj_align(bg_img,NULL,LV_ALIGN_CENTER,0,0);
static lv_style_t img_style;
lv_style_copy(&img_style,&lv_style_plain);
img_style.image.color = LV_COLOR_RED;
img_style.image.intense = 200;
lv_label_set_style(bg_img,LV_LABEL_STYLE_MAIN,&img_style);
前三句是图片的显示,后面的就是图片的样式修改,主要用到了拷贝和设定样式.一般这两个也是最常用的函数.效果如下.
可以很清晰的看到,一个红色闹钟图标.
String bjrq = "2013-03-29 17:30:30";String sql="from TbStaffInfo t where (t.lx6!='1' and bjrq>=to_date('"+bjrq+"','yyyy-MM-dd HH24:mi:ss')) or (t.lx6 is null and bjrq>=to_date('"+bjrq+"','yyyy-MM-dd
程序员在一个周末的时间,得了重病,差点当场去世,还好及时挽救回来了。
早上好微信问候语(精选50句)在学习、工作或生活中,大家都写过问候语吧,问候语短小简单,是指能够拉近人与人之间的距离的语言。写起问候语来就毫无头绪?下面是小编为大家收集的早上好微信问候语,仅供参考,大家一起来看看吧。1、读万卷书不如行千里路,行千里路不如阅人无数,阅人无数不如名师指路。经师易得,人师难求。早安!2、淅淅沥沥的是春雨,轻轻柔柔的是春风,牵牵挂挂的是朋友,无论你是否感受到春的气息,我的...
如果你是一名AI方向在校研究生或者已经是在职的算法工程师,你应该已经深刻感受到AI行业的变化。2年前,如果你会用一些框架把深度学习的系统跑起来,能够把数据喂进去,能够跑出结果,那么你就能...
感谢这个回答的帮助,在这个回答的帮助下我解决了在window10系统中的usb无法识别的问题一开始以为是鼠标坏了,后来发现U盘也没有办法识别,意识到可能驱动出现了问题win+R 进入运行,输入regedit点击确定进入注册表编辑器依次进入HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{36FC9E60-C465-11C...
大数据作为2019年比较热门的技术,受到越来越多的关注,那么对于一个想进入大数据的朋友来说,最想知道的是:大数据学什么?大数据技术体系太庞杂了,基础技术覆盖数据采集、数据预处理、分布式存储、NOSQL数据库、多模式计算(批处理、在线处理、实时流处理、内存处理)、多模态计算(图像、文本、视频、音频)、数据仓库、数据挖掘、机器学习、人工智能、深度学习、并行计算、可视化等各种技术范畴和不同的层面...
ESP8266一共有三种角色/工作模式,分别是:1.STA (客户端模式)2.AP (接入点模式)3.STA+AP (两种模式共存)客户端模式就是作为设备(client)连接区域网内路由,接入点模式即是作为路由(sever),允许其他设备连接ESP8266.第三种即是同时扮演两种角色。与蓝牙模块相似,esp8266也需要进行AT指令设置。下面进行具体操作:1. 接线连接CH340转TT...
如上图所示,需要给单选 加上默认值代码如下view<el-form-item label="可见" prop="locked" > <el-radio-group v-model="actionFormData.locked"> <el-radio :label="0">显示...
开博第一篇--------十年相思伊人去,QQ不在微信来我想轻轻的问候你一声忙碌中的你过得还好吗其实我过的不好但我希望你过得好没有你的日子其实我活的很累但我希望你活得轻松没有你的日子其实我活得很痛苦但我希望你很幸福没有你的日子对我来说是灰蒙蒙的我放不下你每天每夜想你看到你上线看到你下线看到你空间你的照片还有简短的留言你的心情为什么总是那么好我很诧异也许...
通过阅读本文你可以学习如何有效地使用 CString。 CString 是一种很有用的数据类型。它们很大程度上简化了MFC中的许多操作,使得MFC在做字符串操作的时候方便了很多。不管怎样,使用CString有很多特殊的技巧,特别是对于纯C背景下走出来的程序员来说有点难以学习。这篇文章就来讨论这些技巧。 使用CString可以让你对字符串的操作更加直截了当。这篇文章不是 CString 的完
详细解说 STL 排序(Sort)作者Winter原文地址:http://www.cppblog.com/mzty/archive/2005/12/15/1770.html详细解说 STL 排序(Sort)0 前言: STL,为什么你必须掌握1 STL提供的Sort 算法1.1 所有sort算法介绍1.2 sort 中的比较函数1....
每次写博客,第一句话都是这样的:程序员很苦逼,除了会写程序,还得会写博客!当然,希望将来的一天,某位老板看到此博客,给你的程序员职工加点薪资吧!因为程序员的世界除了苦逼就是沉默。我眼中的程序员大多都不爱说话,默默承受着编程的巨大压力,除了技术上的交流外,他们不愿意也不擅长和别人交流,更不乐意任何人走进他们的内心! 最近悟出来一个道理,在这儿分享给大家:学历代表你的过去,能力代表你的现在,学...