Description
Hello everyone, I used LVGL for my application. When I use textarea for my application, The textarea didn’t appear on my simulation. However, when I replace by label, it run well. Please have a look on my code below and tell me what is wrong with my code.
What MCU/Processor/Board and compiler are you using?
STM32L476
What LVGL version are you using?
LVGL v7.9
What do you want to achieve?
let the textarea show on the screen
Code to reproduce
for (int i = 0; i < 3; i++)
{
configFloor[i] = lv_cont_create(Screen, NULL);
lv_obj_set_size(configFloor[i], BOTTOM_LAYER_WIDTH, (BOTTOM_LAYER_HEIGHT - lv_obj_get_height(TopLayerScreen)) / 3);
lv_obj_add_style(configFloor[i], LV_CONT_PART_MAIN, &UISystemStyle.OnScreenStyle);
configLabel[i] = lv_label_create(configFloor[i], NULL);
lv_obj_align(configLabel[i], NULL, LV_ALIGN_IN_LEFT_MID, 0, 0);
if (i == 0)
{
lv_obj_align(configFloor[i], NULL, LV_ALIGN_IN_BOTTOM_MID, 0, 0);
}
else
{
lv_obj_align(configFloor[i], configFloor[i - 1], LV_ALIGN_OUT_TOP_MID, 0, -1);
}
}
lv_label_set_text(configLabel[2], "Template 1");
lv_label_set_text(configLabel[1], "Template 2");
lv_label_set_text(configLabel[0], "Template 3");
lv_obj_t* Template1Label = lv_label_create(configFloor[2], NULL);
lv_label_set_text(Template1Label, "123");
lv_obj_align(Template1Label, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0);
lv_obj_t* Template2TA = lv_textarea_create(configFloor[1], NULL);
lv_textarea_set_accepted_chars(Template2TA, SINGAL_SPEED_ACCEPTED_CHARS);
lv_textarea_set_one_line(Template2TA, true);
lv_textarea_set_cursor_hidden(Template2TA, false);
lv_textarea_set_text(Template2TA, "1");
lv_obj_align(Template2TA, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0);
lv_obj_set_width(Template2TA, lv_obj_get_width(Template1Label));
lv_obj_t* Template3TA = lv_textarea_create(configFloor[0], NULL);
lv_textarea_set_accepted_chars(Template3TA, SINGAL_SPEED_ACCEPTED_CHARS);
lv_textarea_set_one_line(Template3TA, true);
lv_textarea_set_cursor_hidden(Template3TA, false);
lv_textarea_set_text(Template3TA, "101");
lv_obj_align(Template3TA, NULL, LV_ALIGN_IN_RIGHT_MID, 0, 0);
lv_obj_set_width(Template3TA, lv_obj_get_width(Template1Label));