目录
一、标签部分组成
主体(LV_PART_MAIN)
滚动条(LV_PART_SCROLLBAR)
选中的文本(LV_PART_SELECTED)
二、创建标签部件
lv_obj_t *label = lv_label_create(parent);
三、设置文本
① 直接设置文本,存储文本的内存动态分配 :lv_label_set_text( label, "hallo \n lvgl");
② 文本不存储在动态内存,而是在指定的缓冲区中(慎用):lv_label_set_text_static( label,"hallo" );
③ 格式化显示文本,类似printf :lv_label_set_text_fmt( label, “Value: %d”, 50 ) ;
四、改变文本样式
① 背景颜色:lv_obj_set_style_bg_color( label, lv_color_hex(0xffe1d4), LV_STATE_DEFAULT );
② 字体大小:lv_obj_set_style_text_font( label, &lv_font_montserrat_30, LV_STATE_DEFAULT );
③ 文本颜色:lv_obj_set_style_text_color( label, lv_color_hex(0xf7b37b), LV_STATE_DEFAULT );
五、文本过长处理
lv_label_set_long_mode(label, LV_LABEL_LONG_...);
enum {
LV_LABEL_LONG_WRAP, /* 默认模式, 如果部件大小已固定,超出的文本将被剪切 */
LV_LABEL_LONG_DOT, /* 将 label 右下角的最后 3 个字符替换为点… */
LV_LABEL_LONG_SCROLL, /* 来回滚动 */
LV_LABEL_LONG_SCROLL_CIRCULAR, /* 循环滚动 */
LV_LABEL_LONG_CLIP, /* 直接剪切掉部件外面的文本部分 */
};
六、代码案例
void my_gui(void)
{
lv_obj_t *label = lv_label_create(lv_scr_act());
lv_label_set_text_fmt(label,"menglingjun:%d",21);
lv_obj_set_size(label,160,40);
lv_label_set_long_mode(label,LV_LABEL_LONG_SCROLL_CIRCULAR);
lv_obj_set_style_bg_color(label,lv_color_hex(0xffe1d4),LV_STATE_DEFAULT);
lv_obj_set_style_bg_opa(label,100,LV_STATE_DEFAULT);
lv_obj_set_style_text_font( label, &lv_font_montserrat_30, LV_STATE_DEFAULT );
lv_obj_set_style_text_color( label, lv_color_hex(0xf7b37b), LV_STATE_DEFAULT );
}