lvgl函数说明 V6 V7版本对比

1.透明度设置

Version6:

lv_obj_set_opa_scale_enable(labelDesigner, true);
lv_obj_set_opa_scale(imgLogo,LV_OPA_TRANSP);

Version7:
直接调用

lv_obj_set_style_local_opa_scale(btn2, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT,LV_OPA_TRANSP);

也可以调用

opa_scale_anim函数

由于这俩个函数
为了V6 V7兼容 也可以自行添加函数

void lv_obj_set_opa_scale(lv_obj_t * obj, lv_opa_t opa_scale)
{
	lv_obj_set_style_local_opa_scale(obj, LV_OBJ_PART_MAIN, LV_STATE_DEFAULT, opa_scale);
}

2.背景颜色设置方法

Version6:

lv_style.c这个文件内有一个void lv_style_init(void),
通过更改:  lv_style_scr.body.main_color     = LV_COLOR_BLACK;
			lv_style_scr.body.grad_color     = LV_COLOR_BLACK;
可以很简单的改变背景色为黑。

Version7:
由于V7 屏幕默认背景色也为白色 很多时候需要屏幕默认背景色为黑色
由于LVGL开源 可以找到在注册屏幕时
调用lv_disp_drv_register()
中有 disp->bg_color = LV_COLOR_WHITE
更改为disp->bg_color = LV_COLOR_BLACK;
控件则调用下面的函数

lv_obj_set_style_local_bg_color

2.控件相关:

2.1 label

文本重作色:
在这里插入图片描述

我们可以为 label 控件的文本设置不同的颜色, 可以设置文本的某些部分。

lv_label_set_text(label5, "#ff0000 red##00ff00 green##0000ff blue#");
lv_label_set_recolor(label5,true); /* 允许文字重新着色 */

需要用两个#隔开, 第一个#号后面为 RGB 色,后接一个空格后接文本, 然后#号结尾

应用:
可以用于LABEL部分高亮就不需要创建多个LABEL了
就需要用到下面这个函数,此函数不仅可以像printf那样通过格式字符串控制输出文本,同时还能应用重作色功能

void lv_label_set_text_fmt(lv_obj_t *label, const char *fmt, ...)
例:
 const char* fmt[] = 
    {
        "%02d:#FF0000 %02d#:%02d",
    };
lv_label_set_text_fmt(labelTime, fmt[0], Hours, Minutes,Seconds);
//效果是Minutes会红色显示,其他正常显示

样式:
Version6:

	
	static lv_style_t style_label;
    style_label = *lv_label_get_style(labelTitle, LV_LABEL_STYLE_MAIN);
    style_label.text.font = LV_FONT_DEFAULT;
    style_label.text.color = LV_COLOR_WHITE;
    lv_label_set_style(labelTitle, LV_LABEL_STYLE_MAIN, &style_label);

Version7:

	lv_style_init(&style_label);
	lv_style_set_text_color(&style_label, LV_STATE_DEFAULT, LV_COLOR_WHITE);
	lv_style_set_text_font(&style_label, LV_STATE_DEFAULT, LV_FONT_DEFAULT);
	lv_obj_add_style(labelTitle, LV_OBJ_PART_MAIN, &style_label);
  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值