正在学习lvgl,遇到一个奇怪的问题。无论如何都无法在活动屏幕上创建标签,其他组件如按钮在活动屏幕上创建没有问题,以其他组件为父对象创建标签也是可以的。百思不得其解,还请指教。
/*label*/
lv_obj_t *obj1 =lv_obj_create(lv_scr_act());
lv_obj_set_size(obj1,300,50);
lv_obj_align(obj1,LV_ALIGN_TOP_MID,0,20);
label1 =lv_label_create(obj1);
lv_obj_align(label1,LV_ALIGN_CENTER,0,0);
// label1 =lv_label_create(lv_scr_act());
// lv_obj_align(label1,LV_ALIGN_TOP_MID,0,20);
在obj组件上创建label显示正常
直接在屏幕上创建label则无法显示
根据提供的代码,直接在屏幕上创建label无法显示的原因可能是缺少样式。可以尝试添加样式并设置文字内容,如下所示:
lv_obj_t *label = lv_label_create(lv_scr_act());
lv_obj_set_style_text_font(label, LV_PART_MAIN, LV_STATE_DEFAULT, &lv_font_montserrat_28);
lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);
lv_label_set_text(label, "Hello world!");
其中,lv_obj_set_style_text_font
设置字体样式,lv_obj_align
设置位置,lv_label_set_text
设置显示的文字内容。希望能帮到你。