ESP32 LVGL8.1 ——Style local style 样式当地的风格 (Style 11)

提示:本博客作为学习笔记,有错误的地方希望指正

一、样式当地的风格简介

  本次主要讲述lvgl的样式当地的风格,我们前面主要通过样式去设置一些属性,假如我们想要修改某一个对象的风格还要保留原有的一些特性怎么办,这个时候样式的当地风格就会起到作用,改变对象的一些特性而保留原来的一些特性。

二、Style Line API

  用于文字样式的API可以在lv_obj_style_gen.h文件中找到,里面有许多的API,看起来似曾相识的样子,对的没错这里面的API相比之前我们学的那些API中多了obj ,这个我的理解主要是针对对象的设置的,可以通过style设置一些对象的基本属性,然后想要修改属性的时候就用对象特征的API去修改实现,将原始的Style的属性和对象被添加的属性分离,这样可以使得一个类型的样式可以使用不同的对象,当一个对象的样式需要改变的时候可以通过带obj的API修改而不影响其他对象使用该样式,这里主要使用改变样式的背景颜色做实验。其他的API一样的使用效果。

void lv_obj_set_style_bg_color(struct _lv_obj_t * obj, lv_color_t value, lv_style_selector_t selector);

三、示例

/*************************************************
 *  函数名称 :  lv_local_style 转换样式
 *  参    数 : 无
 *  函数功能 : 转换样式
 *************************************************/
void lv_local_style(void)
{
   static lv_style_t style;                     //创建样式
   lv_style_init(&style);                       //初始化样式

   lv_style_set_bg_color(&style,lv_palette_lighten(LV_PALETTE_RED,1));  //设置背景颜色
   lv_style_set_bg_opa(&style,LV_OPA_COVER);    //设置背景透明度

   lv_style_set_border_color(&style,lv_palette_main(LV_PALETTE_BLUE));  //设置边框颜色
   lv_style_set_border_opa(&style,LV_OPA_80);   //设置边框透明度
   lv_style_set_border_width(&style,5);         //设置边框宽度
   //直接继承原始样式
   lv_obj_t *obj = lv_obj_create(lv_scr_act()); //创建对象
   lv_obj_add_style(obj,&style,0);              //将样式添加刀对象中
   lv_obj_set_size(obj,80,80);                  //设置对象的尺寸
   lv_obj_set_pos(obj,50,50);                   //设置对象的位置
   //继承原始样式 + 自己需求修改
   lv_obj_t *obj1 = lv_obj_create(lv_scr_act());//创建对象
   lv_obj_add_style(obj1,&style,0);             //将样式添加刀对象中
   lv_obj_set_size(obj1,80,80);                 //设置对象的尺寸
   lv_obj_set_pos(obj1,50,150);                 //设置对象的位置
   //局部覆盖背景颜色
   lv_obj_set_style_bg_color(obj1,lv_palette_main(LV_PALETTE_ORANGE),LV_PART_MAIN);
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值