lvgl-04 按键按下效果样式实现

news/2024/10/26 17:19:25/
static lv_style_t style_btn;
static lv_style_t style_btn_pressed;
static lv_style_t style_btn_red;static lv_color_t darken(const lv_color_filter_dsc_t * dsc, lv_color_t color, lv_opa_t opa)
{LV_UNUSED(dsc);return lv_color_darken(color, opa);  //使能变暗 
}static void style_init(void)
{/*Create a simple button style*/lv_style_init(&style_btn);lv_style_set_radius(&style_btn, 10);    //圆角 lv_style_set_bg_opa(&style_btn, LV_OPA_COVER);  // 设置透明度lv_style_set_bg_color(&style_btn, lv_palette_lighten(LV_PALETTE_GREY, 3));  //背景色lv_style_set_bg_grad_color(&style_btn, lv_palette_main(LV_PALETTE_GREY)); //渐变lv_style_set_bg_grad_dir(&style_btn, LV_GRAD_DIR_VER); //渐变 方向 垂直lv_style_set_border_color(&style_btn, lv_color_black());  //相框色lv_style_set_border_opa(&style_btn, LV_OPA_20);  lv_style_set_border_width(&style_btn, 2);lv_style_set_text_color(&style_btn, lv_color_black());/*Create a style for the pressed state.*Use a color filter to simply modify all colors in this state*/static lv_color_filter_dsc_t color_filter;  //颜色过滤器lv_color_filter_dsc_init(&color_filter, darken); //初始化 过滤器lv_style_init(&style_btn_pressed);  //初始化 按下 格式lv_style_set_color_filter_dsc(&style_btn_pressed, &color_filter);// 设置 按下过滤器格式lv_style_set_color_filter_opa(&style_btn_pressed, LV_OPA_20);/*Create a red style. Change only some colors.*/lv_style_init(&style_btn_red);lv_style_set_bg_color(&style_btn_red, lv_palette_main(LV_PALETTE_RED));lv_style_set_bg_grad_color(&style_btn_red, lv_palette_lighten(LV_PALETTE_RED, 3));
}/*** Create styles from scratch for buttons.*/
void btn_filter_demo(void)
{/*Initialize the style*/style_init();/*Create a button and use the new styles*/lv_obj_t * btn = lv_btn_create(lv_scr_act());/* Remove the styles coming from the theme* Note that size and position are also stored as style properties* so lv_obj_remove_style_all will remove the set size and position too */lv_obj_remove_style_all(btn);lv_obj_set_pos(btn, 100, 100);lv_obj_set_size(btn, 60, 40);lv_obj_add_style(btn, &style_btn, 0);lv_obj_add_style(btn, &style_btn_pressed, LV_STATE_PRESSED);/*Add a label to the button*/lv_obj_t * label = lv_label_create(btn);lv_label_set_text(label, "b1");lv_obj_center(label);/*Create another button and use the red style too*/lv_obj_t * btn2 = lv_btn_create(lv_scr_act());lv_obj_remove_style_all(btn2);                      /*Remove the styles coming from the theme*/lv_obj_set_pos(btn2, 60, 100);lv_obj_set_size(btn2, 60, 40);lv_obj_add_style(btn2, &style_btn, 0);lv_obj_add_style(btn2, &style_btn_red, 0);lv_obj_add_style(btn2, &style_btn_pressed, LV_STATE_PRESSED);lv_obj_set_style_radius(btn2, LV_RADIUS_CIRCLE, 0); /*Add a local style too*/label = lv_label_create(btn2);lv_label_set_text(label, "b2");lv_obj_center(label);
}

http://www.ppmy.cn/news/349088.html

相关文章

QCon高分演讲:火山引擎容器技术在边缘计算场景下的应用实践与探索

近日,火山引擎边缘云原生团队的同学在QCon全球软件开发大会上分享了火山引擎容器技术在边缘计算场景下的应用实践与探索,并在一众AIGC、LLM等当下热门议题中脱颖而出,入选观众满意度投票中“叫好又叫座议题Top5”。 以下是演讲全文&#xff1…

Linux内核中内存管理相关配置项的详细解析9

接前一篇文章:Linux内核中内存管理相关配置项的详细解析8 十三、Enable recovery from hardware memory errors 对应配置变量为:CONFIG_MEMORY_FAILURE。 此项只有选中和不选中两种状态,默认为选中。 内核源码详细解释为: Enab…

C#开发的OpenRA游戏之建造物品的窗口1

C#开发的OpenRA游戏之建造物品的窗口1 前面已经分析了基地工程车的创建和移动,当玩家把基地工程车移动到合适的位置,就会进行部署基地,也即是选择一个离矿场比较近的位置,因为这样做可以提高采矿的速度,减少采矿车的运输时间。 接着下来,虽然基地是建立了,但是还需要创…

163 android设置字体,android系统163邮箱设置图解教程

说起163的邮箱相信,没有几个不了解的吧。用的人也是很多,当然我也是其中一个。但由于网易163的免费邮箱前几年一直是关掉POP3/SMTP,导致免费用户不能在其它的邮件软件及手机上使用。但前二天看到网易今年把免费的开启了。这就好了。手机上就可…

物联网卡设置_物联网卡这样设置一下上网全程4G!建议收藏!

由于手机的厂商不同或者运营商设置问题,有极少数手机需要设置接入点方可使用数据网络,每个运营商的APN接入点都是不变的,并且有用户询问网速最快接入点,以下是整理的移动、联通、电信4G接入点设置请参考! 联通接入点设…

普及!cmnet、cmiot还傻傻分不清楚?APN设置看看这一篇就够了!!

大家可能都知道移动apn可分为cmnet、cmwap和cmiot等多种,你知道这些APN的区别吗?别着急,接下来跟着搜卡之家小编一块来了解一下吧。 普及!cmnet、cmiot还傻傻分不清楚?APN设置看看这一篇就够了!&#xff01…

千寻位置服务器端口设置错误,南方GPS千寻网络设置

《南方GPS千寻网络设置》由会员分享,可在线阅读,更多相关《南方GPS千寻网络设置(6页珍藏版)》请在人人文库网上搜索。 1、南方及其他RTK设备千寻定位手簿设置指南设置第一步,打开工程之星第二步点击配置第三步点击增加第四步依次输入千寻的IP…

物联网卡设置_为什么手机上使用物联网卡的要设置APN

物联卡由企业采购时进行实名认证,不允许进入个人市场,随着物联卡行业的不断扩张,由于物联卡的流量费相对便宜,而且很多人使用物联卡作为流量卡,因为它不是手机专用的流量卡,所以在使用中往往会出现信号不稳定,无法连接到网站等。 使用物联网卡时为什么总要让你设置APN??首先,…