提示:本博客作为学习笔记,有错误的地方希望指正
文章目录
一、样式阴影设置简介
本次主要讲述lvgl的样式阴影,实现对于对象的阴影显示效果
1.1阴影宽度 shadow_width
以像素为单位设置阴影的宽度。该值应 >= 0。
1.2阴影x轴偏移 shadow_ofs_x
在 X 方向以像素为单位设置阴影的偏移量。
1.3阴影y轴偏移 shadow_ofs_y
在 Y 方向以像素为单位设置阴影的偏移量。
1.4阴影拓展 shadow_spread
进行阴影计算以使用更大或更小的矩形作为基础。该值可以在像素 t 使区域更大/更小
1.5阴影颜色 shadow_color
设置阴影的颜色
1.6阴影透明度 shadow_opa
设置阴影的不透明度。值0,LV_OPA_0或LV_OPA_TRANSP表示完全透明,256,LV_OPA_100或
LV_OPA_COVER表示完全覆盖,其他值或LV_OPA_10、LV_OPA_20等表示半透明。
二、Style outline API
用于设置样式阴影的API可以在lv_style_gen.h文件中找到,主要有以下几个API
void lv_style_set_shadow_width(lv_style_t * style, lv_coord_t value); //设置样式阴影宽度
void lv_style_set_shadow_ofs_x(lv_style_t * style, lv_coord_t value); //设置样式阴影x轴偏移位置
void lv_style_set_shadow_ofs_y(lv_style_t * style, lv_coord_t value); //设置样式阴影y轴偏移位置
void lv_style_set_shadow_spread(lv_style_t * style, lv_coord_t value); //设置样式阴影延展位置
void lv_style_set_shadow_color(lv_style_t * style, lv_color_t value); //设置样式阴影颜色
void lv_style_set_shadow_color_filtered(lv_style_t * style, lv_color_t value);//设置样式阴影颜色过滤
void lv_style_set_shadow_opa(lv_style_t * style, lv_opa_t value); //设置样式阴影透明度
三、示例
3.1阴影基本显示
/*************************************************
* 函数名称 : lv_style_Shadow 样式设置阴影
* 参 数 : 无
* 函数功能 : 设置设置阴影
*************************************************/
void lv_style_Shadow()
{
static lv_style_t style; //创建style
lv_style_init(&style); //初始化style
lv_style_set_radius(&style,5); //设置样式的圆角
lv_style_set_opa(&style,LV_OPA_COVER); //设置样式背景透明度
lv_style_set_bg_color(&style,lv_palette_lighten(LV_PALETTE_GREY,1)); //设置样式的背景颜色
lv_style_set_shadow_width(&style,25); //设置样式阴影宽度
lv_style_set_shadow_color(&style,lv_palette_main(LV_PALETTE_BLUE)); //设置样式阴影颜色
lv_style_set_shadow_ofs_x(&style,10); //设置样式x轴偏移位置
lv_style_set_shadow_ofs_y(&style,20); //设置样式x轴偏移位置
// lv_style_set_shadow_spread(&style,5); //设置样式四周偏移位置
lv_obj_t * obj = lv_obj_create(lv_scr_act()); //创建对象
lv_obj_add_style(obj,&style, 0); //将样式添加到对象中
lv_obj_center(obj); //居中对象
}