您的位置:首页 > 健康 > 养生 > 永久3e38cos_信息网官网_最新疫情最新情况_关键词排名优化怎么样

永久3e38cos_信息网官网_最新疫情最新情况_关键词排名优化怎么样

2024/12/23 8:24:17 来源:https://blog.csdn.net/weixin_43408345/article/details/143965384  浏览:    关键词:永久3e38cos_信息网官网_最新疫情最新情况_关键词排名优化怎么样
永久3e38cos_信息网官网_最新疫情最新情况_关键词排名优化怎么样

标签部件(Iv label)

        在LVGL中,标签部件主要用于文本显示,例如标题、提示信息等 。

①如何创建标签部件以及设置文本?

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

知识点1:创建标签部件 Iv_objt *label Iv_label_create (parent);

知识点2:设置文本的3种方式

①直接设置文本,存储文本的内存动态分配:Iv_label._set_text(label,"hallo \n Ivg");

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

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

②如何改变文本的样式?

    lv_obj_set_style_bg_color(label, lv_color_hex(0xff0000), LV_STATE_DEFAULT); //设置标签背景颜色
    lv_obj_set_style_bg_opa(label, 200, 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(0x25b65b), LV_STATE_DEFAULT);   //设置字体颜色

单独设置一些字体颜色:

          lv_label_set_recolor(label, true);      //开启重新着色功能
          lv_label_set_text(label, "this is fmt text val=#ff4236 50,end string#");  // #(颜色十六进制val)  (单独着色字符) #    
③当文本长度超过部件大小的时候怎么显示?

        默认情况下,如果没有限定标签部件大小,那它的大小自动扩展为文本大小。

        也可以设置为长文本模式: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_demo(void)
{lv_obj_t* label = lv_label_create(lv_scr_act());        //创建标签//lv_label_set_text(label, "hallo lvgl");  //1.直接设置文本,存储文本的内容动态分配//lv_label_set_text_static(label, "Static: my text");    //2.在静态内存分配lv_label_set_text_fmt(label, "this is fmt text val=%d,%s", 50, "end string");  //类似于 sprintflv_obj_set_size(label, 80, 30);lv_obj_set_style_bg_color(label, lv_color_hex(0xff0000), LV_STATE_DEFAULT);lv_obj_set_style_bg_opa(label, 200, 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(0x25b65b), LV_STATE_DEFAULT);   //设置字体颜色lv_label_set_recolor(label, true);      //开启重新着色功能lv_label_set_text(label, "this is fmt text val=#ff4236 50,end string#");  // #(颜色十六进制val)  (单独着色字符) #    lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR); //来回滚动
}

下面是一些要注意的点:

        1.设置背景颜色一定要设置背景透明度,否则默认背景透明度为0,一点背景颜色都无。

        2.如果使用静态内存分配显示文本,那么在后面的长文本模式使用LV_LABEL_LONG_DOT(右下角最后三个字符替换成 ...),由于是静态分配的,在函数外部再次修改就已经失效了会导致程序崩溃。

        3.设置标签字体颜色一定要打开对应宏,不然也会报错

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com