银杏科技有限公司旗下技术文档发布平台 | |||
技术支持电话 | 0379-69926675-801 | ||
技术支持邮件 | Gingko@vip.163.com | ||
版本 | 日期 | 作者 | 修改内容 |
---|---|---|---|
V1.0 | 2020-12-6 | yang | 初次建立 |
缓冲标志是一段在圆环上旋转的弧,它的工作原理与弧形指示器类似,详情请参考弧形指示器章节。另外缓冲标志仅支持通用事件。 缓冲标志由以下两部分构成:
旋转弧的长度可以通过 lv_spinner_set_arc_length(spinner, deg) 来调节, deg 为旋转弧的角度,默认为60度弧长。
void lv_gui_run(void){ lvgl2rtt_init("lcd"); /* 初始化lvgl2rtt */ lv_obj_t * preload1 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload1, 40, 40); /* 设置尺寸 */ lv_obj_align(preload1, NULL, LV_ALIGN_CENTER, -50, 0); /* 设置位置 */ lv_obj_t * preload2 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload2, 40, 40); /* 设置尺寸 */ lv_obj_align(preload2, NULL, LV_ALIGN_CENTER, 50, 0); /* 设置位置 */ lv_spinner_set_arc_length(preload2, 180); /* 设置弧长为180度 */ }
旋转速度可以通过 lv_spinner_set_spin_time(preload, time_ms) 调节, time_ms 为转一圈所需的毫秒数,默认转一圈为1000ms。
void lv_gui_run(void){ lvgl2rtt_init("lcd"); /* 初始化lvgl2rtt */ lv_obj_t * preload1 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload1, 40, 40); /* 设置尺寸 */ lv_obj_align(preload1, NULL, LV_ALIGN_CENTER, -50, 0); /* 设置位置 */ lv_spinner_set_spin_time(preload1, 2000); /* 设置旋转速度 */ lv_obj_t * preload2 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload2, 40, 40); /* 设置尺寸 */ lv_obj_align(preload2, NULL, LV_ALIGN_CENTER, 50, 0); /* 设置位置 */ lv_spinner_set_spin_time(preload2, 1000); /* 设置旋转速度 */ }
用户可以设置不同的旋转类型:
若要设置旋转类型请使用函数 lv_spinner_set_type(preload, LV_SPINNER_TYPE_…) 。
void lv_gui_run(void){ lvgl2rtt_init("lcd"); /* 初始化lvgl2rtt */ lv_obj_t * preload1 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload1, 40, 40); /* 设置尺寸 */ lv_obj_align(preload1, NULL, LV_ALIGN_CENTER, -80, 0); /* 设置位置 */ lv_spinner_set_type(preload1, LV_SPINNER_TYPE_SPINNING_ARC); /* 设置旋转类型 */ lv_obj_t * preload2 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload2, 40, 40); /* 设置尺寸 */ lv_obj_align(preload2, NULL, LV_ALIGN_CENTER, 0, 0); /* 设置位置 */ lv_spinner_set_type(preload2, LV_SPINNER_TYPE_FILLSPIN_ARC); /* 设置旋转类型 */ lv_obj_t * preload3 = lv_spinner_create(lv_scr_act(), NULL); /* 创建缓冲标志 */ lv_obj_set_size(preload3, 40, 40); /* 设置尺寸 */ lv_obj_align(preload3, NULL, LV_ALIGN_CENTER, 80, 0); /* 设置位置 */ lv_spinner_set_type(preload3, LV_SPINNER_TYPE_CONSTANT_ARC); /* 设置旋转类型 */ }
用户可以使用 lv_spinner_set_dir(preload, LV_SPINNER_DIR_FORWARD/BACKWARD) 来改变缓冲标志的旋转方向。