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 的使用的主要内容,如果未能解决你的问题,请参考以下文章

lvgl - Label 的使用

LVGL8基础语法-标签

LVGL8基础语法-设置中文

freeRTOS&LVGL|在使用freertos时如何为lvgl配置心跳和任务管理器

LVGL v8学习笔记 | 07 - 字体的使用方法

LVGL v8学习笔记 | 07 - 字体的使用方法