LVGL 旋转器

2024年12月19日 LVGL 旋转器 极客笔记

旋转器(lv_spinner)旋转器对象是边界上的旋转弧,实现旋转加载效果。

零件和样式

旋转器包括一下部分:

  • LV_SPINNER_PART_BG: 主要部分
  • LV_SPINNER_PART_INDIC: 旋转弧(虚拟部分)

零件和样式的作用与 弧(lv_arc) 情况相同。

用法

弧长

圆弧的长度可以通过 lv_spinner_set_arc_length(spinner, deg) 进行调整。

旋转速度

旋转速度可以通过 lv_spinner_set_spin_time(preload, time_ms) 进行调整。

旋转类型

支持以下旋转类型

  • LV_SPINNER_TYPE_SPINNING_ARC 旋转弧线,在顶部减速
  • LV_SPINNER_TYPE_FILLSPIN_ARC 旋转弧线,在顶部放慢速度,但也伸展弧线
  • LV_SPINNER_TYPE_CONSTANT_ARC 以恒定速度旋转

使用 lv_spinner_set_type(preload, LV_SPINNER_TYPE_...) 进行设置

旋转方向

旋转方向可以通过 lv_spinner_set_dir(preload, LV_SPINNER_DIR_FORWARD/BACKWARD) 进行更改。

仅支持 通用事件

了解有关 事件 的更多内容。

按键处理

对象类型不处理任何键。

了解有关 按键 的更多内容。

范例

简单的旋转效果

上述效果的示例代码:

#include "../../../lv_examples.h"
#if LV_USE_SPINNER

void lv_ex_spinner_1(void)
{
    /*Create a Preloader object*/
    lv_obj_t * preload = lv_spinner_create(lv_scr_act(), NULL);
    lv_obj_set_size(preload, 100, 100);
    lv_obj_align(preload, NULL, LV_ALIGN_CENTER, 0, 0);
}

#endif

本文链接:http://so.lmcjl.com/news/19798/

展开阅读全文