• 合宙Air724UG LuatOS-Air LVGL API控件-加载器(Spinner)


    加载器(Spinner)

    spinner.png

    示例代码

    1. spinner = lvgl.spinner_create(lvgl.scr_act(), nil)
    2. lvgl.obj_set_size(spinner, 100, 100)
    3. lvgl.obj_align(spinner, nil, lvgl.ALIGN_CENTER, 0, 0)

    创建

    通过 lvgl.spinner_create 就可创建一个加载器,本身自带动画效果。

    spinner = lvgl.spinner_create(lvgl.scr_act(), nil)
    

    jdfw3.gif

    弧长

    可以通过 lvgl.spinner_set_arc_length 函数调整加载器的弧长。单位是度,一圈是按 360 度计算的。

    lvgl.spinner_set_arc_length(spinner, 180)
    

    jdfw3.gif

    转速

    通过 lvgl.spinner_set_spin_time 可以设置转速,这里的单位是 ms,是加载器转完一圈的时间,GIF 录制的时间稍微有点快,这里转完一圈的时间设置的是 4 秒。

    lvgl.spinner_set_spin_time(spinner, 4000)
    

    jdfw3.gif

    类型

    旋转类型通过 lvgl.spinner_set_type 设置,这里的类型支持以下几种:

    1. lvgl.SPINNER_TYPE_SPINNING_ARC -- 顶部减速
    2. lvgl.SPINNER_TYPE_FILLSPIN_ARC -- 弧的长度会改变
    3. lvgl.SPINNER_TYPE_CONSTANT_ARC -- 恒速转动

    下面分别看下这几种加载器的显示效果:
    lvgl.SPINNER_TYPE_SPINNING_ARC 在顶部的时候可以看到略微减速了。

    lvgl.spinner_set_type(spinner, lvgl.SPINNER_TYPE_SPINNING_ARC)
    

    jdfw3.gif

    lvgl.SPINNER_TYPE_FILLSPIN_ARC 弧的长度会改变,这个效果比较明显。

    lvgl.spinner_set_type(spinner, lvgl.SPINNER_TYPE_FILLSPIN_ARC )
    

    jdfw4.gif

    lvgl.SPINNER_TYPE_CONSTANT_ARC 恒定速度转动。

    lvgl.spinner_set_type(spinner, lvgl.SPINNER_TYPE_CONSTANT_ARC)
    

    jdfw4.gif

    API

    lvgl.lvgl.spinner_create

    调用lvgl.lvgl.spinner_create(par, copy)
    功能创建一个加载器对象
    返回指向创建的加载器的指针
    参数
    par指向对象的指针, 它将是新键对象的父对象
    copy指向加载器对象的指针, 如果不为 nil, 则将从其复制新对象

    lvgl.spinner_set_arc_length

    调用lvgl.spinner_set_arc_length(spinner, deg)
    功能设置加载器的弧长
    参数
    spinner指向加载器对象的指针
    deg加载器的弧长

    lvgl.spinner_set_spin_time

    调用lvgl.spinner_set_spin_time(spinner, time)
    功能设置加载器的动画时间
    参数
    spinner指向加载器对象的指针
    time加载器的动画时间

    lvgl.spinner_set_type

    调用lvgl.spinner_set_type(spinner, type)
    功能设置加载器的类型
    参数
    spinner指向加载器对象的指针
    time加载器的类型
    lvgl.SPINNER_TYPE_SPINNING_ARC – 顶部减速
    lvgl.SPINNER_TYPE_FILLSPIN_ARC – 弧的长度会改变
    lvgl.SPINNER_TYPE_CONSTANT_ARC – 恒速转动

    lvgl.spinner_set_dir

    调用lvgl.spinner_set_dir(spinner, dir)
    功能设置加载器的动画方向
    参数
    spinner指向加载器对象的指针
    dir加载器的方向
    lvgl.SPINNER_DIR_FORWARD – 正向
    lvgl.SPINNER_DIR_BACKWARD – 反向

    lvgl.spinner_get_arc_length

    调用lvgl.spinner_get_arc_length(spinner)
    功能获取加载器的弧长
    返回加载器的弧长
    参数
    spinner指向加载器对象的指针

    lvgl.spinner_get_spin_time

    调用lvgl.spinner_get_spin_time(spinner)
    功能获取加载器的动画时间
    返回加载器的动画时间
    参数
    spinner指向加载器对象的指针

    lvgl.spinner_get_type

    调用lvgl.spinner_get_type(spinner)
    功能获取加载器的类型
    返回加载器的类型
    参数
    spinner指向加载器对象的指针

    lvgl.spinner_get_dir

    调用lvgl.spinner_get_dir(spinner)
    功能获取加载器的动画方向
    返回加载器的动画方向
    参数
    spinner指向加载器对象的指针
  • 相关阅读:
    软件流程和管理(五):Stakeholder Management &Communication
    事件驱动API架构的五个协议
    2022年京东双11美妆护肤品类数据回顾
    C51--PC通过串口(中断)点亮LED
    LeetCode算法心得——最短且字典序最小的美丽子字符串(枚举的思想)
    C++函数总结,看这一篇就够了
    2—10岁女童羽绒服,黑色长款也太好看了吧
    CCRC信息安全服务资质认证条件
    《深入浅出.NET框架设计与实现》笔记6.4——ASP.NET Core应用程序多种运行模式之四——服务承载
    CSS3 的选择器、盒子模型、过渡、渐变、旋转、转换
  • 原文地址:https://blog.csdn.net/l531798151/article/details/132745569