LVGL第二站标签(label)

1.标签的定义

        标签是用来显示文本的基本对象类型。

2.标签的常用函数介绍

        2.1创建标签

lv_obj_t * label = lv_label_create(parent);

        2.2设置显示文本

           2.2.1直接设置要显示的文本

lv_label_set_text(label, "New text");

        2.2.2格式化给定要显示的文本(和printf很类似):
 

lv_label_set_text_fmt(label, “%s: %d”, “Value”, 15);

        2.2.3文本换行

lv_label_set_text(label, " line1\nline2\n\nline4 ");

        2.2.4大小设置

/*这里的函数和前面的设置大小一样*/
lv_obj_set_size()    
lv_obj_set_width()    
lv_obj_set_height()

        2.2.5指定标签的模式

/*
 宏介绍:
LV_LABEL_LONG_WRAP    如果有多个换行,并且如果高度为LV_SIZE_CONTENT,那么高度会根据文本换行被动 
                    扩展;否则文本将被剪掉。(默认设置)
LV_LABEL_LONG_DOT    如果文本太长,就保持大小并在末尾写3个点 
LV_LABEL_LONG_SCROLL 如果文本比标签宽(太长),则可以水平来回滚动显示它。如果它很高(多个\n换行), 
                     可以垂直滚动。只滚动一个方向,水平滚动的优先级更高。
LV_LABEL_LONG_SCROLL_CIRCULAR 如果文本比标签宽,则水平滚动它。如果它更高,就垂直滚动。只滚动一 
                      个方向,水平滚动的优先级更高。
LV_LABEL_LONG_CLIP    剪掉超出标签范围外的文本部分。
*/
/*设置函数例子*/
lv_label_set_long_mode(label, LV_LABEL_LONG_SCROLL_CIRCULAR); 

        2.2.6文本着色

/*例子需要自己修改*/
lv_style_set_text_color(&style_obj, lv_color_hex(0xf7b37b)); lv_obj_set_style_text_color(label, lv_color_hex(0xf7b37b), 0);


/*文本某些部分重新着色*/
lv_label_set_recolor(label1, true);
lv_label_set_text(label1, "#0000ff Re-color# #ff00ff words# #ff0000 of a# label);

         2.2.7 显示图标

lv_label_set_text(my_label, LV_SYMBOL_OK);	// 直接显示图标
lv_label_set_text(my_label, LV_SYMBOL_OK “Apply”);	 // 图标与字符串一起使用
lv_label_set_text(my_label, LV_SYMBOL_OK LV_SYMBOL_WIFI LV_SYMBOL_PLAY);	 // 多个图标一起使用

        2.2.8给标签添加事件处理(注意标签本来是没有事件处理的需要使用一个函数开启

lv_obj_add_flag(label, LV_OBJ_FLAG_CLICKABLE);  // 使输入设备可点击对象

代码示例:

    char * text = "www.100ask.net";   // 要显示的文字

    /* 创建一个基础对象 label */
    lv_obj_t * label = lv_label_create(lv_scr_act());   // 创建一个label部件(对象),他的父对象是活动屏幕对象
	lv_obj_center(label);
	lv_obj_t * labe2 = lv_label_create(lv_scr_act());	// 创建一个labe2部件(对象),他的父对象是活动屏幕对象
	lv_obj_align_to(labe2, label , LV_ALIGN_OUT_BOTTOM_MID, 0, 0);
	lv_obj_t * labe3 = lv_label_create(lv_scr_act());	// 创建一个labe2部件(对象),他的父对象是活动屏幕对象

	//显示特定图标
	lv_label_set_text(labe3, LV_SYMBOL_OK LV_SYMBOL_WIFI LV_SYMBOL_PLAY);
    /* 展示文字 */
    /* 设置要显示的文本,函数中会另外开辟和给定的字符串大小的空间存放字符串(常用) */
    lv_label_set_text(label, text);
    //lv_label_set_text(labe2, "fjq11101222"); // 也可以这样使用

    /* 设置要显示的文字,也会另外开辟空间存放字符串,但是可以像 printf 格式化字符串 */
    lv_label_set_text_fmt(labe2, "%s: %d", "Value", 15);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值