对于仪表控件,类似于汽车仪表盘一样;也是已经继承好的,我们只需设置修改即可;
代码如下:
void gauge_test(void)
{
/*Create a style*/
static lv_style_t style;
lv_style_copy(&style, &lv_style_pretty_color);
style.body.main_color = lv_color_hex3(0x666); /*开始的刻度条颜色*/
style.body.grad_color = lv_color_hex3(0x666); /*结束的刻度条颜色*/
style.body.padding.left = 10; /*刻度条的长度*/
style.body.padding.inner = 8 ; /*文本与刻度条的距离*/
style.body.border.color = lv_color_hex3(0x333); /*指针圆环的颜色*/
style.line.width = 3; /*线条宽度*/
style.text.color = lv_color_hex3(0x333); /*文本颜色*/
style.line.color = LV_COLOR_RED; /*超出临界值的线条颜色*/
/*Describe the color for the needles*/
static lv_color_t needle_colors[3];
needle_colors[0] = LV_COLOR_BLUE; //设置颜色效果
needle_colors[1] = LV_COLOR_ORANGE;
needle_colors[2] = LV_COLOR_PURPLE;
/*Create a gauge*/
lv_obj_t * gauge1 = lv_gauge_create(lv_scr_act(), NULL); //获取屏幕对象
lv_gauge_set_style(gauge1, LV_GAUGE_STYLE_MAIN, &style); //设置风格样式
lv_gauge_set_needle_count(gauge1, 3, needle_colors); //设置指针颜色容量
lv_obj_set_size(gauge1, 150, 150); //设置仪表大小
lv_obj_align(gauge1, NULL, LV_ALIGN_CENTER, 0, 20); //设置仪表对齐方式
lv_gauge_set_critical_value(gauge1, 80);
lv_gauge_set_range(gauge1, 0, 100);
/*Set the values*/
lv_gauge_set_value(gauge1, 0, 10);
lv_gauge_set_value(gauge1, 1, 20);
lv_gauge_set_value(gauge1, 2, 30);
}
现实在项目中,该控件用到的地方很少;如果需要更多详细的内容;则可以看正点原子的数据手册;;