I’m trying to write software for a digital dashboard with a digital mph readout.
At 0 I need the digit to be align right and at 10 move to one place left.
I’ve tried lv_label_set_align(label_mph, LV_LABEL_ALIGN_RIGHT) but it has no effect.
My code is:
void draw_mph(void)
{
static lv_style_t style_mph;
lv_style_init(&style_mph);
lv_style_set_text_color(&style_mph, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_style_set_text_font(&style_mph, LV_STATE_DEFAULT, &arial_100);
label_mph = lv_label_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_width(label_mph, 150);
lv_label_set_align(label_mph, LV_LABEL_ALIGN_RIGHT);
lv_obj_add_style(label_mph, LV_OBJ_PART_MAIN,&style_mph);
lv_obj_set_pos(label_mph, 305, 15);
lv_label_set_text(label_mph, "0");
static lv_style_t style_mph_text;
lv_style_init(&style_mph_text);
lv_style_set_text_color(&style_mph_text, LV_STATE_DEFAULT, LV_COLOR_WHITE);
lv_style_set_text_font(&style_mph_text, LV_STATE_DEFAULT, &lv_font_montserrat_16);
lv_obj_t * label_mph_lb = lv_label_create(lv_disp_get_scr_act(NULL), NULL);
lv_obj_set_pos(label_mph_lb, 420, 100);
lv_obj_add_style(label_mph_lb, LV_OBJ_PART_MAIN,&style_mph_text);
lv_label_set_text(label_mph_lb, "mph");
}
I want the 0 to be above the text “mph” and at 10 move to the left.
So how do I right align the text ?