提示:本博客作为学习笔记,有错误的地方希望指正
文章目录
一、样式外轮廓设置简介
本次主要讲述lvgl的样式外轮廓,可以设置样式的外轮廓实现对于按键之类的重绘,实现炫酷的显示效果
1.1 轮廓宽度 outline_width
以像素为单位设置轮廓的宽度。
1.2 轮廓颜色 outline_color
设置轮廓的颜色。
1.3 轮廓透明度 outline_opa
设置轮廓的不透明度。值0,LV_OPA_0或LV_OPA_TRANSP表示完全透明,256,LV_OPA_100或
LV_OPA_COVER表示完全覆盖,其他值或LV_OPA_10、LV_OPA_20等表示半透明。
1.4 轮廓边距 outline_pad
设置轮廓的内边距,即对象与轮廓之间的间隙。
二、Style outline API
用于设置样式外轮廓的API可以在lv_style_gen.h文件中找到,主要有以下几个API
void lv_style_set_outline_width(lv_style_t * style, lv_coord_t value); //设置样式轮廓的宽度
void lv_style_set_outline_color(lv_style_t * style, lv_color_t value); //设置样式轮廓颜色
void lv_style_set_outline_color_filtered(lv_style_t * style, lv_color_t value); //设置样式轮廓过滤颜色
void lv_style_set_outline_opa(lv_style_t * style, lv_opa_t value); //设置样式轮廓透明度
void lv_style_set_outline_pad(lv_style_t * style, lv_coord_t value); //设置样式轮廓边距
三、示例
3.1轮廓显示基本示例
/*************************************************
* 函数名称 : lv_style_outline 样式外轮廓
* 参 数 : 无
* 函数功能 : 设置样式外轮廓
*************************************************/
void lv_style_outline(void)
{
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_outline_width(&style,2); //设置样式轮廓的宽度
lv_style_set_outline_color(&style,lv_palette_main(LV_PALETTE_BLUE)); //设置样式轮廓颜色
lv_style_set_outline_pad(&style,5); //设置样式轮廓的边距
lv_obj_t * obj = lv_obj_create(lv_scr_act()); //创建对象
lv_obj_add_style(obj,&style, 0); //将样式添加到对象中
lv_obj_center(obj); //居中对象
}