lvgl - Label 的使用
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了lvgl - Label 的使用相关的知识,希望对你有一定的参考价值。
参考技术A参数:
所谓动态文本即指传入的字符串或数组在 label 对象里有一份拷贝,会使用动态内存申请,因此传入的数据可以在外部释放。
数据格式可以是以 \'\\0\' 结尾的字符串,也可以是数组,两种接口如下:
还可以使用
来格式化文本显示,fmt 是与 printf 一样的格式化数据,该显示文本是动态文本。
所谓静态文本是指 label 对象用于显示的文本数据实际保存在外部,因此传入的数据不可以释放,最好是静态变量。
数据格式可以是以 \'\\0\' 结尾的字符串,也可以是数组,两种接口如下:
此处 text 和 array 里的内容不能随意释放,否则会造成 label 对象的显示出错。
上述设置文本的接口,若传入的数据为 NULL,则代表刷新当前文本内容。
在显示文本中,可以使用命令来重绘色部分文本。使用格式如下: #16进制颜色值 文本# 。重绘色以 #16进制颜色值 开始,以 # 结束,中间的 文本 就会被重绘色。
在对一个 label 对象使用重绘色功能之前,需要先使能重绘色功能,接口如下:
例程如下:
文本重绘色仅工作于单行,因此若在文本中出现了 \'\\n\' ,或文本被 LV_LABEL_LONG_BREAK 换行了,新行的文本不会被重绘色。
例如:
该结果里 of 字符后面被 LV_LABEL_LONG_BREAK 换行了,于是后一个字符 a 就没有被重绘为红色。
label 对象一共有如下几种长文本模式:
使用如下接口设置模式 lv_label_set_long_mode(label, LV_LABEL_LONG_...) 。
示例如下:
不同模式下的显示效果如下所示:
LV_LABEL_LONG_SROLL:
LV_LABEL_LONG_SROLL_CIRC:
SROLL_CIRC 模式有一点像路边的灯光招牌和出租车上的广告一样,循环显示。还可以用如下接口调节动画的速度:
不同的长文本模式对 label 对象的大小也有影响。"EXPAND" 会使对象的 width 和 height 都无效;"BREAK" 会使对象的 height 无效,width 有效;剩余的模式 "DOT", "CROP", "SROLL", "SROLL_CIRC" 其对象 width 和 height 都有效。
一共有三种对齐方式:
使用如下接口来设置:
LVGL v8学习笔记 | 06 - label控件的使用方法
文章目录
一、label控件
label对象的API在lv_label.h中声明,以lv_label_xxx命名。
1. 创建label对象
/**
* Create a label objects
* @param parent pointer to an object, it will be the parent of the new labely.
* @return pointer to the created button
*/
以上是关于lvgl - Label 的使用的主要内容,如果未能解决你的问题,请参考以下文章