三.LVGL学习——(Buttons styles)

2023-05-16

三.LVGL学习——(Buttons styles)


1、按钮对象样式

在这里插入图片描述
2、程序

//定义三个lv_style_t变量
static lv_style_t style_btn;            //按钮1按下前的样式变量
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)
{
 /****************************************************按键1和按钮2的样式***********************************************************/
    /* 创建一个简单的按钮样式 */
    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());                      //设置文本的颜色

    /* 为按下的状态创建一个样式。* 使用颜色过滤器简单地修改此状态下的所有颜色 */
    static lv_color_filter_dsc_t color_filter;
    lv_color_filter_dsc_init(&color_filter, darken);                            //定义颜色过滤器回调函数
    lv_style_init(&style_btn_pressed);                                          //初始化按下时的style
    lv_style_set_color_filter_dsc(&style_btn_pressed, &color_filter);           //设置颜色过滤
    lv_style_set_color_filter_opa(&style_btn_pressed, LV_OPA_20);               //设置过滤颜色的透明百分比

 /****************************************************修改按钮2的部分样式***********************************************************/
    /* 创建一个红色样式。 只改变一些颜色。*/
    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));
}

/**
* 从头开始为按钮创建样式。
*/
void lv_demo_my_mark(void)
{
    /*初始化样式*/
    style_init();

    /****************************************************按键1***********************************************************/
    /*创建一个按钮并使用新样式*/
    lv_obj_t* btn = lv_btn_create(lv_scr_act());
    /* 删除来自主题的样式
    * 请注意,大小和位置也存储为样式属性
    * 所以 lv_obj_remove_style_all 也会删除设置的大小和位置 */
    lv_obj_remove_style_all(btn);
    lv_obj_set_pos(btn, 10, 10);
    lv_obj_set_size(btn, 120, 50);
    lv_obj_add_style(btn, &style_btn, LV_STATE_DEFAULT);            //未按下时的样式
    lv_obj_add_style(btn, &style_btn_pressed, LV_STATE_PRESSED);    //被按下时的样式
    /*给按钮添加标签*/
    lv_obj_t* label = lv_label_create(btn);
    lv_label_set_text(label, "Button");
    lv_obj_center(label);


    /****************************************************按键2***********************************************************/
    /*创建另一个按钮并使用红色样式*/
    lv_obj_t* btn2 = lv_btn_create(lv_scr_act());
    /*删除来自主题的样式*/
    lv_obj_remove_style_all(btn2); 
    lv_obj_set_pos(btn2, 10, 80);
    lv_obj_set_size(btn2, 120, 50);
    lv_obj_add_style(btn2, &style_btn, LV_STATE_DEFAULT);          //未按下时的样式
    lv_obj_add_style(btn2, &style_btn_red, LV_STATE_DEFAULT);      //被按下时的样式
    lv_obj_add_style(btn2, &style_btn_pressed, LV_STATE_PRESSED);  //修改部分样式
    /*给按钮添加标签*/
    lv_obj_set_style_radius(btn2, LV_RADIUS_CIRCLE, 0);
    label = lv_label_create(btn2);
    lv_label_set_text(label, "Button 2");
    lv_obj_center(label);
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

三.LVGL学习——(Buttons styles) 的相关文章

  • WPF 中的下划线标签,使用样式

    我有以下风格
  • style = auto 或 100% 时获取元素高度?

    正如问题所问 当元素具有 style width 100 height auto 时 如何获得该元素的确切 px 高度或宽度例如 我可能不会将它嵌套在 div 内并通过 so 获取高度 宽度 我猜 javascript 可以在这里提供帮助
  • 鼠标悬停时的 WPF TextBlock 样式下划线

    简单的问题 下面的 WPF C 代码可以减轻一些重量吗 我的意思是 WTF 呃 我的意思是 WPF 来吧 你见过CSS吗 我只想在鼠标悬停时在文本下划线 就像链接一样 我真的需要为此添加 9 行吗
  • 您可以通过 WPF 样式将数据绑定到 CornerRadius 吗?

    我有一个 Button 样式 似乎无法将边框的 CornerRadius 属性数据绑定到模板 这是一个依赖属性 因此它应该是可数据绑定的 我想知道我是否缺少正确使用的 XAML 语法
  • 未应用 WPF 窗口样式

    我有一个 ResourceDictionary 其中包含应用程序中使用的控件的样式定义 所有样式都正确应用于窗口中的控件 但是窗口本身的 ResourceDictionary 中的样式没有被应用 这是我的 ResourceDictionar
  • 将 WPF 样式触发器绑定到自定义依赖项属性

    我在这里找到了许多类似的线程 但似乎没有一个能解决我的具体问题 我需要在某些条件下突出显示文本框的背景 我创建了一个突出显示属性 并尝试使用样式中的触发器来设置它 但它实际上并没有突出显示文本 这是我的风格 简化了
  • appcompat 库样式如何工作

    我对 appcompat 库中的样式如何工作感到非常困惑 根据here https chris banes me 2014 10 17 appcompat v21 我们现在使用 Toolbar ActionBar 的支持实现 平台意味着我们
  • Android 操作栏标签栏分隔线

    我在设置分隔线的可绘制对象时遇到问题 我的 style xml 如下所示
  • Angular 6 - 拒绝应用“...”中的样式,因为其 MIME 类型(“text/html”)不是受支持的样式表

    尝试升级到 Angular 6 当我在 index html 中引用以下内容时 出现以下错误 拒绝应用来自 的样式https localhost 44394 assets primengcss themes omega theme css
  • 如何将全局自定义样式应用于android.support.design.widget.TextInputEditText?

    我有我的AppTheme定义于style xml我在其中为所有应用程序全局应用自定义样式TextView EditText Button etc 现在我想做同样的事android support design widget TextInpu
  • 去除android按钮上的阴影效果

    我在布局中添加了一个简单的按钮 并删除了文本并设置了一个具有透明度的图像作为其背景 但不幸的是我的按钮上有阴影效果 我无法将其删除 如果您有任何经验可以帮助我 我将不胜感激 Thanks 在按钮标签集上 android stateListA
  • 如何取消IE10默认的文件输入样式?

    这是我在不同浏览器上的文件输入 IE10 使用了糟糕的默认样式 关于如何删除它有什么想法吗 IE 支持许多用于文件输入的伪元素 ms value http msdn microsoft com en us library windows a
  • WPF 从 DataTrigger 设置 Image.Source

    我正在尝试定义一个DataTrigger for an Image元素 以便显示连接 断开连接的图像 我不断收到Invalid PropertyDescriptor信息 有任何想法吗
  • -webkit-fill-available 有什么用?

    PIC 1 这就是我所拥有的 图1 PIC 2 这就是我需要的 图2 在pic 2中我添加了 width webkit fill available 我得到了我所期望的 但我不知道它是如何运作的 因此 您需要了解两件事 webkit fil
  • C# WPF - 如何修改 ToolBar.ButtonStyleKey 样式

    我需要在鼠标悬停时显示工具栏按钮边框 否则隐藏它 我尝试执行以下操作
  • WPF Richtextbox FontFace/FontSize

    我目前正在尝试在 WPF 项目中创建一些基本的文字处理功能 我正在使用 RichTextBox 并且知道所有的 EditingCommands ToggleBold ToggleItalic 等 我所坚持的问题是允许用户更改字体大小和字体
  • 在没有验证的情况下模仿验证行为

    我们的应用程序中有几个数据对象最终绑定到网格 我们让它们实现 IDataErrorInfo 接口 以便通过向属性添加错误消息 我们可以看到行标题更改样式并且 DataGridCell 获得红色边框 一切都很好 我们现在有一个额外的要求 即我
  • WPF 嵌套样式

    我的应用程序中有文本块和组合框 我希望文本块前景为白色 组合框前景为黑色 我尝试的是
  • XAML 组合样式超越 BasedOn?

    有没有办法在 XAML 中组合多种样式来创建具有所有所需设置的新样式 例如 伪代码 我知道有一个BasedOn样式属性 但该功能只能带您到目前为止 我实际上只是在寻找一种简单的方法 在 XAML 中 来创建这些 组合 样式 但就像我之前说的
  • 从 Android Studio 的图库中选择图像?

    有人可以告诉我问题是什么 它不起作用 所以请快速帮助我真正需要 imagePick setOnClickListener new View OnClickListener Override public void onClick View

随机推荐

  • MYSQL之视图的使用

    视图的使用 使用视图的好处 1 简化select的字段 xff0c 方便管理 2 可以针对不同用户 xff0c 对视图进行不同的查看 也就是说可以做权限管理 3 视图的语法 CREATE VIEW MYTEST AS select 列车号
  • 模糊PID之matlab模糊控制器配置

    前言 使用模糊PID时 xff0c 需要对工具库进行配置 xff0c 模糊PID是由2个输入个3个输出组成 xff0c 输出是E和Ec xff0c 输出是Kp Ki和Kd 打开matlab后 xff0c 需要配置 MATLAB模糊配置 1
  • java url后面带sessionid_url中jsessionid的理解

    1 这是一个保险措施 因为Session默认是需要Cookie支持的 但有些客户浏览器是关闭Cookie的 这个时候就需要在URL中指定服务器上的session标识 也就是5F4771183629C9834F8382E23BE13C4C 用
  • stm32简介+gpio的C语言封装

  • 一些post请求和get请求的调用例子

    目录 post请求 1 http请求 无请求参数 请求包格式为application json 请求包包含若干字段 get请求 1 http请求 响应类型application zip 请求结果为下载一个zip的压缩文件 解压下载的压缩包
  • 80个Python经典资料(教程+源码+工具)汇总——下载目录

    大家好 xff0c 51CTO下载中心根据资料的热度和好评度收集了80个Python资料 xff0c 分享给Python开发的同学 内容包括1个Python专题 66个学习资料 7套Python源码和6个相关软件 附件较多 xff0c 无法
  • Jetson Xavier NX使用yolov5+deepsort实现CSI摄像头的目标跟踪

    文章目录 安装过程运行效果用python代码来打开CSI摄像头实现CSI摄像头目标跟踪报错 AttributeError 39 NoneType 39 object has no attribute 39 shape 39 运行效果 参考文
  • 机械周期、时钟周期、脉冲、晶振频率之间的关系

    机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系时钟周期与脉冲的关系机械周期与时钟周期的关系 整理下学到的机械周期 时钟周期 脉冲 晶振频率之间的关系 晶振频率与脉冲的关系
  • 51单片机的串行接口介绍

    51单片机的串行接口介绍 串行口结构设置工作方式 xff08 串行口控制寄存器SCON xff09 设置波特率 51单片机内部集成1 2个可编程通用异步串行通信接口 xff08 即UART xff09 xff0c 采用全双工制式 该通信接口
  • IIC通信总线寻址

    IIC的使用 IIC总线简介IIC通信时序IIC总线寻址 IIC总线简介 1 IIC总线是一种由PHILIPS公司开发的两线式串行总线 2 IIC在硬件上是时钟总线SCL和数据总线SDA两条线构成 3 器件连接到总线都是SCL连到一起 xf
  • 通过PCF8591读取电压值(AD转换)

    通过PCF8591读取电压值 xff08 AD转换 xff09 A D的主要指标常用A D器件 PCF8591PCF8591的控制字节 A D的主要指标 1 ADC的位数 xff1a n位ADC代表 xff0c 2的n次方个刻度 2 基准源
  • STM32的光敏传感器

    STM32的光敏传感器 简介硬件连接计算公式程序 简介 1 照射光敏二极管的光强不同 xff0c 通过光敏二极管的电流大小就不同 xff0c 所以可以通过检测电流大小 xff0c 达到检测光强的目的 利用这个电流变化 xff0c 我们串接一
  • MPU6050寄存器介绍

    MPU6050寄存器介绍 MPU6050寄存器介绍电源管理寄存器1 xff08 0X6B xff09 陀螺仪配置寄存器 xff08 0X1B xff09 加速度传感器配置寄存器 xff08 0X1C xff09 FIFO使能寄存器 xff0
  • (10)查看RGB摄像头和深度摄像头

    查看RGB摄像头和深度摄像头 RGB摄像头深度摄像头 1 小车开机 xff0c 连接wifi xff0c 远程登录 登录密码 xff1a dongguan ssh wheeltec 64 192 168 0 100 2 挂载 挂载密码 xf
  • (11)色块跟踪

    色块跟踪 一 查看色块追踪的文件位置 xff1a 在ros simple follower文件下的simple followe的Launch文件 二 可调整识别色块的阈值 xff0c 追踪过程中最大速度 xff0c 中距值 xff0c PI
  • (6)ROS与STM32之间的联系

    ROS与STM32之间的联系 简介两者之间的关系两者之间的通信ROS如何在代码层面去接收stm32发送过来的数据1 整体框架2 机器人底盘类3 构造函数4 主函数5 循环功能函数6 析构函数 简介 1 如何实现ROS与stm32之间的通信
  • keil 局部变量不能查看值,显示为not in scope

    关于编译器的优化 xff0c 参考网上的8051系列的说明如下 xff1a xfeff xfeff 0级优化 xff1a 1 常数折叠 xff1a 只要有可能 xff0c 编译器就执行将表达式化为常数数字的计算 xff0c 其中包括运行地址
  • 算法——均方根检波

    均方根检波 1 均方根检波技术2 高精度采样技术3 STM32的ADC4 程序工程文件 1 均方根检波技术 1 均值检波电路通常采用电容充放电电路作为平均值电路 2 由于输出为整流平均值 xff0c 要求电容充放电时间常数相等 3 电容充放
  • 二.LVGL学习——(lv_obj基础对象)

    二 LVGL学习 xff08 lv obj基础对象 xff09 1 介绍2 对象的工作机制3 对象的创建与删除4 Screen 屏幕对象5 实例代码 xff08 1 xff09 6 实例代码 xff08 2 xff09 1 介绍 LVGL是
  • 三.LVGL学习——(Buttons styles)

    三 LVGL学习 xff08 Buttons styles xff09 1 按钮对象样式 2 程序 定义三个lv style t变量 static lv style t style btn 按钮1按下前的样式变量 static lv sty