ESP32 LVGL8.1 ——Style multiple styles 多种风格样式 (Style 12)

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

一、多种风格样式简介

  本次主要讲述lvgl的多种风格样式,多种样式风格和前面的Local style 有点类似,这一主要讲述的是一个对象可以继承多个样式的风格,和C++ 编程有点类似,对象风格的继承性。

二、多种风格样式 API

  这里API都是前面的一些API主要有背景、边框、阴影、尺寸、字体几个设置。

三、示例

/*************************************************
 *  函数名称 :  lv_multiple_styles 多种风格样式
 *  参    数 : 无
 *  函数功能 : 多种风格样式
 *************************************************/
void lv_multiple_styles(void)
{
   static lv_style_t style_base;                            //创建样式
   lv_style_init(&style_base);                              //初始化样式
   lv_style_set_radius(&style_base,10);                     //设置圆角

   lv_style_set_bg_color(&style_base,lv_palette_main(LV_PALETTE_BLUE));          //设置背景颜色
   lv_style_set_border_color(&style_base,lv_palette_darken(LV_PALETTE_BLUE,3));  //设置边框颜色
   lv_style_set_border_width(&style_base,2);                //设置样式边框宽度
   lv_style_set_shadow_width(&style_base,10);               //设置阴影宽度
   lv_style_set_shadow_ofs_y(&style_base,5);                //设置阴影y轴偏移方向
   lv_style_set_shadow_opa(&style_base,LV_OPA_50);          //设置阴影透明度
   lv_style_set_text_color(&style_base,lv_color_white());   //设置字体颜色

   lv_style_set_width(&style_base,100);                     //设置样式宽度
   lv_style_set_height(&style_base,LV_SIZE_CONTENT);        //设置样式高度

   static lv_style_t style_warning;                         //创建样式
   lv_style_init(&style_warning);                           //初始化样式

   lv_style_set_bg_color(&style_warning,lv_palette_main(LV_PALETTE_YELLOW));        //设置背景颜色
   lv_style_set_border_color(&style_warning,lv_palette_darken(LV_PALETTE_YELLOW,3));//设置边框颜色
   lv_style_set_text_color(&style_warning,lv_palette_darken(LV_PALETTE_YELLOW,4));  //设置字体颜色

   lv_obj_t * obj_base = lv_obj_create(lv_scr_act());       //创建对象
   lv_obj_add_style(obj_base,&style_base,0);                //将样式添加到对象中
   lv_obj_align(obj_base,LV_ALIGN_LEFT_MID,20,0);           //设置样式居左边居中

   lv_obj_t * label_base = lv_label_create(obj_base);       //创建对象 基于obj_base
   lv_label_set_text(label_base,"Base");                    //设置Label显示字
   lv_obj_center(label_base);                               //居中Label相对于父对象

   lv_obj_t * obj_warning = lv_obj_create(lv_scr_act());    //创建对象
   lv_obj_add_style(obj_warning,&style_base,0);             //将样式添加到对象中
   lv_obj_add_style(obj_warning,&style_warning,0);          //将样式添加到对象中
   lv_obj_align(obj_warning,LV_ALIGN_RIGHT_MID,-20,0);      //设置样式居右边居中

   lv_obj_t * label_warning = lv_label_create(obj_warning); //创建对象 基于obj_warniing
   lv_label_set_text(label_warning,"Warning");              //设置Label显示字              
   lv_obj_center(label_warning);                            //居中Label相对于父对象
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值