目录
通过一组点绘制出相连的直线,通过lv_line_create创建相应的对象。
线只有LV_PART_MAIN一个部件。
1. 点数组
点必须存储在 lv_point_t
类型的数组中,并通过
void lv_line_set_points(lv_obj_t * obj, const lv_point_t points[], uint16_t point_num)
函数将数组传递给line对象。
lv_obj_t* obj1 = lv_line_create(lv_scr_act());
static lv_point_t line_points[] = { {5, 5}, {70, 70}, {120, 10}, {180, 60}, {240, 10} };
lv_line_set_points(obj1, line_points, sizeof(line_points) / sizeof(lv_point_t));
2. 样式
2.1 宽度
lv_obj_set_style_line_width(obj1, 10, LV_PART_MAIN);
2.2 颜色
lv_obj_set_style_line_color(obj1, lv_color_hex(0xff0000), LV_PART_MAIN);
2.3 末端形态
和Arc类似,末端可以是圆的或者直线。
lv_obj_set_style_line_rounded(obj1, true, LV_PART_MAIN);
2.4 虚线
虚线只能是水平或者垂直方向。通过lv_obj_set_style_line_dash_width和lv_obj_set_style_line_dash_gap设置实线和空部分的宽度。
static lv_point_t line_points[] = { {50, 50}, {270, 50}};
lv_line_set_points(obj1, line_points, sizeof(line_points) / sizeof(lv_point_t));
lv_obj_set_style_line_width(obj1, 10, LV_PART_MAIN);
lv_obj_set_style_line_color(obj1, lv_color_hex(0xff0000), LV_PART_MAIN);
lv_obj_set_style_line_rounded(obj1, false, LV_PART_MAIN);
lv_obj_set_style_line_dash_width(obj1, 10, LV_PART_MAIN);
lv_obj_set_style_line_dash_gap(obj1, 20, LV_PART_MAIN);
dash_width设置的是红色实线部分的宽度,dash_gap设置的是2个红色实线的间隔。
将末端改成圆形。
lv_obj_set_style_line_rounded(obj1, true, LV_PART_MAIN);
可以看到头尾多了2个原点。