旋转器(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) 进行更改。

仅支持 通用事件

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

按键处理

对象类型不处理任何键。

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

范例

简单的旋转效果

http://photos.100ask.net/lvgl/04_widgets/28_spinner/01_lv_ex_spinner_1.png

简单的旋转效果

上述效果的示例代码:

 1    #include "../../../lv_examples.h"
 2    #if LV_USE_SPINNER
 3
 4    void lv_ex_spinner_1(void)
 5    {
 6            /*Create a Preloader object*/
 7            lv_obj_t * preload = lv_spinner_create(lv_scr_act(), NULL);
 8            lv_obj_set_size(preload, 100, 100);
 9            lv_obj_align(preload, NULL, LV_ALIGN_CENTER, 0, 0);
10    }
11
12    #endif

相关API

TODO