ESP32 LVGL8.1 ——Style To Part And States 向状态添加部件和样式 (Style 13)

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

一、向状态添加部件和样式简介

  本次主要讲述lvgl的向状态添加部件和样式,通过设置样式可以将样式的属性加载在对象上,这里主要创建一个滑动控件的对象。

二、API

  这里主要讲述滑动组件的API,其他的基本前面都叙述完了。API可以在lv_slider.h文件中找到对应的API,
lv_slider_set_mode(lv_obj_t * obj, lv_slider_mode_t mode)中的mode有三种模式,分别是
LV BAR MODE NORMAL Lv横模正态
LV BAR MODE SYMMETRICAL Lv条模对称
LV BAR MODE RANGELv bar模式范围

lv_obj_t * lv_slider_create(lv_obj_t * parent)		//创建滑动控件对象
static inline void lv_slider_set_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)			//设置滑动控件对象初始值
static inline void lv_slider_set_left_value(lv_obj_t * obj, int32_t value, lv_anim_enable_t anim)		//为滑块的左旋钮设置一个新值
static inline void lv_slider_set_range(lv_obj_t * obj, int32_t min, int32_t max)          				//设置滑块的值的范围
static inline void lv_slider_set_mode(lv_obj_t * obj, lv_slider_mode_t mode)							//设置滑块的模式
static inline int32_t lv_slider_get_value(const lv_obj_t * obj)		//获取滑块的值
static inline int32_t lv_slider_get_left_value(const lv_obj_t * obj)//获取滑块左侧旋钮的值
static inline int32_t lv_slider_get_min_value(const lv_obj_t * obj)	//获取滑块最小值
static inline int32_t lv_slider_get_max_value(const lv_obj_t * obj)//获取滑块最大值
bool lv_slider_is_dragged(const lv_obj_t * obj)					   //判断滑块当前是否被拖动
static inline lv_slider_mode_t lv_slider_get_mode(lv_obj_t * slider)//获取滑块当前的模式

三、示例

/*************************************************
 *  函数名称 :  lv_Add_style_To_Part_And_States 向部件和状态添加样式
 *  参    数 : 无
 *  函数功能 : 向部件和状态添加样式
 *************************************************/
void lv_Add_style_To_Part_And_States(void)
{
   static lv_style_t style_indic;                  //创建样式
   lv_style_init(&style_indic);                    //初始化样式

   lv_style_set_bg_color(&style_indic,lv_palette_lighten(LV_PALETTE_RED,3));  //设置背景颜色
   lv_style_set_bg_grad_color(&style_indic,lv_palette_main(LV_PALETTE_RED));  //设置下半部分颜色
   lv_style_set_bg_grad_dir(&style_indic,LV_GRAD_DIR_HOR);                    //设置下半部分方向

   static lv_style_t style_indic_pr;               //创建样式 
   lv_style_init(&style_indic_pr);                 //初始化样式
   lv_style_set_shadow_color(&style_indic_pr,lv_palette_main(LV_PALETTE_RED));//设置阴影颜色
   lv_style_set_shadow_width(&style_indic_pr,10);  //设置阴影宽度
   lv_style_set_shadow_spread(&style_indic_pr,3);  //设置阴影延展 此时刻阴影的宽度为 width + 2 * spread 

   lv_obj_t * obj = lv_slider_create(lv_scr_act());//创建滑动控件对象
   lv_obj_add_style(obj,&style_indic,LV_PART_INDICATOR);                      //初始化滑动控件对象样式
   lv_obj_add_style(obj,&style_indic_pr,LV_PART_INDICATOR | LV_STATE_PRESSED);//初始化滑动控件对象样式
   lv_slider_set_value(obj,70,LV_ANIM_OFF);        //设置滑动控件对象初始值
   lv_obj_center(obj);                             //居中滑动控件对象
}

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值