标签部件组成部分:

  1. 主体 (LV_PART_MAIN) :使用所有典型的背景属性和文本属性。 填充值可用于在文本和背景之间添加空间。
  2. 滚动条 (LV_PART_SCROLLBAR) :当文本大于组件的大小时显示的滚动条。
  3. 选中的文本 (LV_PART_SELECTED) :告诉所选文本的样式。只能使用 text_color 和 bg_color 样式属性。
    img

创建标签部件以及设置文本

  1. 创建标签部件:
        
    lv_obj_t *label = lv_label_create(parent);
  2. 设置文本的3种方式:

    ① 直接设置文本,存储文本的内存动态分配:
        
    lv_label_set_text( label, "hello \n lvgl");

    ② 文本不存储在动态内存,而是在指定的缓冲区中(慎用):
        
    lv_label_set_text_static( label,"hello" );

    ③ 格式化显示文本,类似printf:
        
    lv_label_set_text_fmt( label, “Value: %d”, 50 );

改变文本的样式

  1. 设置文本样式:

    ① 背景颜色:
        
    lv_obj_set_style_bg_color( label, lv_color_hex(0xffe1d4), LV_STATE_DEFAULT );

    LV_STATE_DEFAULT:触发方式;具体的可以跳转查看
    此函数就算正常使用没有效果,因为lvgl将它的默认透明度设置成了完全透明(0)必须更改透明度(0-255) 才能看见!!

    ② 字体大小:
        
    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_obj_set_style_bg_opa(label, 0, LV_STATE_DEFAULT);
  2. 设置个别文本的字体颜色
lv_label_set_recolor( label, true );                    /* 开启重新着色功能 */
lv_label_set_text( label, "hello #ff0000 lvgl# " );     /* 单独设置颜色 */

文本长度超过部件大小的时候显示

  1. 默认情况下,如果没有限定标签部件大小,那它的大小自动扩展为文本大小。
  2. 长文本模式:
        
lv_label_set_long_mode(label, LV_LABEL_LONG_...);
/* 其中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,             		/* 直接剪切掉部件外面的文本部分 */
};

标签不触发事件(回调函数)!!!