label的相关API - lightdong/LVGL_Study GitHub Wiki

/引用自定义的字体库需要有下面的声明/

//extern const lv_font_t yaodong_first;
//extern const lv_font_t yaodong_second;

LV_FONT_DECLARE(yaodong_first);
LV_FONT_DECLARE(yaodong_second);

/对于label而言,只能通过调取接口修改里面的文本/ /那种手动有下拉框输入的,叫做输入框/ /设置文本内容有多种方式/ /静态设置文本的方式好像有一点问题,先不去弄了,感觉下面两种方法是最常用的/ /可以单独给个别文本设置颜色 ,#color text#的方式,但是##之间不可以出现\n,而且要注意空格的使用/

lv_label_set_recolor(label1,true);//这个函数是使用“#color text#”的前提
lv_label_set_text(label1,"#00ff00 liu# #00ffff yaodong#\n#ff00ff you can do this#");
lv_label_set_text_fmt(label1,"age : %d",22);//有点像C库中printf的用法
lv_label_set_text(label1,"liu\nyaodong\n元\n曜东");  //也是可以支持换行操作的

/如果是切换字体的话,工程需要重新编译一下这需要一定的时间/

lv_obj_set_style_text_font(label1,&lv_font_montserrat_40,LV_STATE_DEFAULT|LV_PART_MAIN);
lv_obj_set_style_text_color(label1,lv_color_hex(0x00ff00),LV_STATE_DEFAULT|LV_PART_MAIN );//好像只能通过修改主体来修改颜色

/也可以设置文本的对齐方式/

lv_obj_set_style_text_align(label1,LV_TEXT_ALIGN_CENTER,LV_STATE_DEFAULT|LV_PART_MAIN);

/也可以设置字母的间距/

lv_obj_set_style_text_letter_space(label1,5,LV_STATE_DEFAULT|LV_PART_MAIN);

/也可以设置行之间的间距/

lv_obj_set_style_text_line_space(label1,5,LV_STATE_DEFAULT|LV_PART_MAIN);

/也可以设置,下划线与删除线等/

lv_obj_set_style_text_decor(label1,LV_TEXT_DECOR_UNDERLINE|LV_TEXT_DECOR_STRIKETHROUGH,LV_STATE_DEFAULT|LV_PART_MAIN);

/设置了set_size才可以循环,不然会一定延伸出弹性界面而不会循环播放/

lv_obj_set_size(label1,100,30);
lv_label_set_long_mode(label1,LV_LABEL_LONG_SCROLL_CIRCULAR);

/图标的使用/

lv_label_set_text(label1,LV_SYMBOL_AUDIO);
/*也可以在图标后面直接添加文本*/
lv_label_set_text(label1,LV_SYMBOL_BLUETOOTH"string");
/*也可以通过格式化输出的方法来显示图标*/
lv_label_set_text_fmt(label1,"logo%s",LV_SYMBOL_BLUETOOTH);

/使用自定义的图标时,要起一个名宏定义一下/

#define MY_USB_SYMBOL "\xE5\xA4\xA9"