引言
圆弧部件(lv_arc)

圆弧部件相关 api 函数
注意:
- 范围值设置最好放在当前值之前。
- 背景弧角度限定了前景弧角度的范围。
- 尽量不要用前景弧设置函数,假如与当前值对应不上则会出问题。
- 设置旋转角度实际上指的是圆弧整体的旋转角度。


示例程序
static void event_cb(lv_event_t *e)
{lv_obj_t *target = lv_event_get_target(e);printf("%d\r\n", lv_arc_get_value(target)); /* 获取当前值并打印 */
}void my_gui(void)
{lv_obj_t *arc = lv_arc_create(lv_scr_act()); /* 创建圆弧 */lv_obj_center(arc); /* 居中 */lv_arc_set_range(arc, 0, 200); /* 设置圆弧范围 */lv_arc_set_value(arc, 80); /* 设置当前值 */// lv_arc_set_angles(arc, 0, 90); /* 设置前景弧角度 */lv_arc_set_bg_angles(arc, 0, 270); /* 设置背景弧角度 */lv_arc_set_rotation(arc, 180); /* 设置圆弧整体旋转角度 */lv_obj_add_event_cb(arc, event_cb, LV_EVENT_VALUE_CHANGED, NULL); /* 添加事件 */// lv_arc_set_mode(arc, LV_ARC_MODE_NORMAL); /* 设置模式 */
// lv_arc_set_mode(arc, LV_ARC_MODE_REVERSE); /* 设置模式 */lv_arc_set_mode(arc, LV_ARC_MODE_SYMMETRICAL); /* 设置模式 */lv_arc_set_change_rate(arc, 90); /* 设置绘制速率,越大绘制越快 */
}
现象:

博客导航
博客导航