html个人网站设计模板,安徽seo网络优化师,左侧导航网站,商丘网站建设推广公司曲线 (Arc)
曲线控件#xff0c;也可以称为弧。因为 Arc 本身就是弧#xff0c;弧形的意思。根据控件的样子也能推测出它的使用场景#xff0c;一般用在加载器(就是等待界面转的圈圈)或者数值显示#xff0c;数值调节这些场景。曲线控件分了两个部分#xff0c;前景和背…曲线 (Arc)
曲线控件也可以称为弧。因为 Arc 本身就是弧弧形的意思。根据控件的样子也能推测出它的使用场景一般用在加载器(就是等待界面转的圈圈)或者数值显示数值调节这些场景。曲线控件分了两个部分前景和背景都可以分别进行设置。
示例代码 – 创建曲线 arc lvgl.arc_create(lvgl.scr_act(), nil) – 设置尺寸 lvgl.obj_set_size(arc, 150, 150) – 设置位置居中 lvgl.obj_align(arc, nil, lvgl.ALIGN_CENTER, 0, 0) – 绘制弧度 lvgl.arc_set_end_angle(arc, 200) 创建 可以通过 lvgl.arc_create(par, copy) 创建一个曲线对象然后对其进行操作。
– 创建控件 arc lvgl.arc_create(lvgl.scr_act(), nil) 设置角度 曲线控件可以设置前景和背景的起始和终止角度角度的取值范围是 0-360度需要注意的是0度是在三点钟方向180度是在9点钟方向。
控件是有一些默认角度设置的未设置到的角度都是采用的默认数值所以尽管 示例代码 只是设置了一个终止角度但还是绘制出了控件。因为背景采用了默认的起始和终止角度所以按照样子绘制完毕后缺了一块并不是说控件本身就长这个样子。下面我们重新设置下角度看看效果
lvgl.arc_set_bg_angles(arc, 0, 180) lvgl.arc_set_angles(arc, 0, 90) 在上面的代码中我们把背景的起始角度设置成了0-180度把前景设置成了0-90度绘制完毕之后就是这个样子
注意需要先绘制背景然后才能绘制前景。
绑定数值 可以为曲线控件设置数值范围然后通过设置值的方式设置控件的一个显示弧度起始也就是对前景设置的函数做了一个封装这样使用起来更加方便。
lvgl.arc_set_range(arc, 0, 100) lvgl.arc_set_value(arc, 30) 将曲线的范围设置了 0-100, 然后将值设置为了 30这个显示就占了整体长度的 30%。
控制 这个控件不光是可以显示实际上也可以当成是一个输入控件。通过 lvgl.arc_set_adjustable 函数可以为控件添加一个可以滑动的旋钮。
lvgl.arc_set_adjustable(arc, true)
获取属性 曲线控件设置的很多值都可以通过 get 获取具体使用情况可以参照 API。
事件 可以通过为控件添加回调函数来获取当前控件的事件。例如可以通过 lvgl.EVENT_VALUE_CHANGED 获取当前值变化的一个情况。
event_handler function(obj, event) if event lvgl.EVENT_VALUE_CHANGED then print(lvgl.arc_get_value(obj)) end end
lvgl.obj_set_event_cb(arc, event_handler)
API lvgl.arc_create 调用 lvgl.arc_create(par, copy) 功能 创建弧对象 返回 指向创建的弧的指针 参数 par 指向对象的指针, 它将是新弧的父对象 copy 指向弧对象的指针, 如果不为 nil, 则将从其复制新对象 lvgl.arc_set_start_angle 调用 lvgl.arc_set_start_angle(arc, start) 功能 设置圆弧的起始角度。三点钟方向为 0 度。需要先绘制背景。 参数 arc 指向弧对象的指针 start 起始角度 lvgl.arc_set_end_angle 调用 lvgl.arc_set_end_angle(arc, end) 功能 设置圆弧的结束角度。 参数 arc 指向弧对象的指针 end 结束角度 lvgl.arc_set_angles 调用 lvgl.arc_set_angles(arc, start, end) 功能 设置开始和结束角度 参数 arc 指向弧对象的指针 start 起始角度 end 结束角度 lvgl.arc_set_bg_start_angle 调用 lvgl.arc_set_bg_start_angle(arc, start) 功能 设置弧形背景的起始角度。 参数 arc 指向弧对象的指针 start 起始角度 lvgl.arc_set_bg_end_angle 调用 lvgl.arc_set_bg_end_angle(arc, end) 功能 设置弧形背景的起始角度。 参数 arc 指向弧对象的指针 end 结束角度 lvgl.arc_set_bg_angles 调用 lvgl.arc_set_bg_angles(arc, start, end) 功能 设置弧形背景的开始和结束角度 参数 arc 指向弧对象的指针 start 起始角度 end 结束角度 lvgl.arc_set_rotation 调用 lvgl.arc_set_rotation(arc, rotation_angle) 功能 设置整个圆弧的旋转 参数 arc 指向弧对象的指针 rotation_angle 旋转角度 lvgl.arc_set_type 调用 lvgl.arc_set_type(arc, type) 功能 设置圆弧的类型。 参数 arc 指向弧对象的指针 type 圆弧类型 lvgl.ARC_TYPE_NORMAL lvgl.ARC_TYPE_SYMMETRIC lvgl.ARC_TYPE_REVERSE lvgl.arc_set_value 调用 lvgl.arc_set_value(arc, value) 功能 在圆弧上设置一个新值 参数 arc 指向弧对象的指针 value 新值 lvgl.arc_set_range 调用 lvgl.arc_set_range(arc, min, max) 功能 设置圆弧的最小值和最大值 参数 arc 指向弧对象的指针 min 最小值 max 最大值 lvgl.arc_set_chg_rate 调用 lvgl.arc_set_chg_rate(arc, threshold) 功能 设置圆弧旋钮增量位置的阈值。 参数 arc 指向弧对象的指针 threshold 增量阈值 lvgl.arc_set_adjustable 调用 lvgl.arc_set_adjustable(arc, adjustable) 功能 设置圆弧是否可调。 参数 arc 指向弧对象的指针 adjustable 圆弧是否具有可以拖动的旋钮 lvgl.arc_get_angle_start 调用 lvgl.arc_get_angle_start(arc) 功能 获取圆弧的起始角度。 返回 起始角度[0…360] 参数 arc 指向弧对象的指针 lvgl.arc_get_angle_end 调用 lvgl.arc_get_angle_end(arc) 功能 获取圆弧的终止角度。 返回 端角[0…360] 参数 arc 指向弧对象的指针 lvgl.arc_get_bg_angle_start 调用 lvgl.arc_get_bg_angle_start(arc) 功能 获取弧形背景的起始角度。 返回 起始角度[0…360] 参数 arc 指向弧对象的指针 lvgl.arc_get_bg_angle_end 调用 lvgl.arc_get_bg_angle_end(arc) 功能 获取弧形背景的终止角度。 返回 端角[0…360] 参数 arc 指向弧对象的指针 lvgl.arc_get_type 调用 lvgl.arc_get_type(arc) 功能 获取圆弧是否为类型。 返回 弧形类型 参数 arc 指向弧对象的指针 lvgl.arc_get_value 调用 lvgl.arc_get_value(arc) 功能 获取圆弧的值 返回 弧的值 参数 arc 指向弧对象的指针 lvgl.arc_get_min_value 调用 lvgl.arc_get_min_value(arc) 功能 获得圆弧的最小值 返回 圆弧的最小值 参数 arc 指向弧对象的指针 lvgl.arc_get_max_value 调用 lvgl.arc_get_max_value(arc) 功能 获取圆弧的最大值 返回 弧的最大值 参数 arc 指向弧对象的指针 lvgl.arc_is_dragged 调用 lvgl.arc_is_dragged(arc) 功能 给出弧线是否被拖动 返回 true:拖动进行中,false:未拖动 参数 arc 指向弧对象的指针 lvgl.arc_get_adjustable 调用 lvgl.arc_get_adjustable(arc) 功能 获取圆弧是否可调。 返回 圆弧是否具有可以拖动的旋钮 参数 arc 指向弧对象的指针