芯课堂 | LVGL基础知识(三)

发布时间:2024年01月05日

概述

LVGL进度条对象上有一个背景和一个指示器。指示器的宽度根据进度条的当前值进行设置。

如果对象的宽度小于其高度,则可以创建垂直进度条。

不仅可以设置进度条的结束值,还可以设置进度条的起始值,从而改变指示器的起始位置。

LVGL进度条讲解

1.?零件和样式

进度条的主要部分称为 LV_BAR_PART_BG ,它使用典型的背景样式属性。

LV_BAR_PART_INDIC 是一个虚拟部件,还使用了所有典型的背景属性。默认情况下,指示器的最大尺寸与背景的尺寸相同,但是在其中设置正的填充值 LV_BAR_PART_BG 将使指示器变小。(负值会使它变大)如果在指标上使用了值样式属性,则将根据指标的当前大小来计算对齐方式。例如,中心对齐的值始终显示在指示器的中间,而不管其当前大小如何。

2.用法

值和范围

可以通过 lv_bar_set_value(bar, new_value, LV_ANIM_ON/OFF) 设置新值。该值以一个范围(最小值和最大值)解释,可以使用 lv_bar_set_range(bar, min, max) 进行修改。默认范围是 1..100。

lv_bar_set_value 中的新值可以根据最后一个参数 (LV_ANIM_ON/OFF) 设置是否带有动画。动画的时间可以通过 lv_bar_set_anim_time(bar, 100) 进行调整。时间以毫秒为单位。

也可以使用 lv_bar_set_start_value(bar, new_value, LV_ANIM_ON/OFF) 设置进度条的起始值

模式

如果已通过 lv_bar_set_type(bar, LV_BAR_TYPE_SYMMETRICAL) 启用,则进度条可以对称地绘制为零(从零开始,从左至右绘制)。

事件

进度条部件仅发送 通用事件 。

按键

对象类型不处理任何输入按键。

范例

简单的进度条

? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ??

示例代码

#include "../../../lv_examples.h"

#if LV_USE_BAR

void lv_ex_bar_1(void)

{

??? lv_obj_t * bar1 = lv_bar_create(lv_scr_act(), NULL);

??? lv_obj_set_size(bar1, 200, 20);

??? lv_obj_align(bar1, NULL, LV_ALIGN_CENTER, 0, 0);

??? lv_bar_set_anim_time(bar1, 2000);

??? lv_bar_set_value(bar1, 100, LV_ANIM_ON);

}

LVGL进度条对象上有一个背景和一个指示器,指示器的宽度根据进度条的当前值进行设置。如您在使用中有遇到疑问,欢迎联系我们。

文章来源:https://blog.csdn.net/SYNWIT/article/details/135411595
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。