三.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 自定义控件添加触发器而不覆盖现有样式?

    我正在创建一个从切换按钮扩展的简单自定义控件 该控件允许用户直接在 XAML 中指定选中和未选中的内容 它工作得很好 但它是基于触发器的 我不知道如何定义触发器 除了样式之外 如果我定义样式 那么我会丢失自定义控件之外设置的任何内容 我希望
  • 去除android按钮上的阴影效果

    我在布局中添加了一个简单的按钮 并删除了文本并设置了一个具有透明度的图像作为其背景 但不幸的是我的按钮上有阴影效果 我无法将其删除 如果您有任何经验可以帮助我 我将不胜感激 Thanks 在按钮标签集上 android stateListA
  • 如何让文本区域占据 div 中的剩余高度?

    我有一组代码如下 要点是在 div 中放置一组图像 然后用文本区域填充 div 的其余部分 如果我设置 height 100 它将使其高度相同 这不是 div height images height 并使文本区域更长 w3c 上说的是in
  • 如何更改鞋子应用程序的图标?

    我想知道是否可以更改我的鞋子应用程序的图标 我想象它以风格为导向 但我还没有找到任何东西 这可能吗 你可以这样做绿鞋 http github com ashbb green shoes 但你必须深入了解一下 这是我为 SciRuby 编写的
  • WPF 从 DataTrigger 设置 Image.Source

    我正在尝试定义一个DataTrigger for an Image元素 以便显示连接 断开连接的图像 我不断收到Invalid PropertyDescriptor信息 有任何想法吗
  • 如何设置绑定项目的ContextMenu?

    我正在努力实现以下目标
  • 如何创建像所附照片一样的用户界面

    谁能告诉我这个照片效果叫什么 我想知道如何为这个附加的图像效果创建一个适配器 编辑 这是Android市场的示例照片 我想创建一个这样的布局 我想这应该覆盖 GridView 适配器 肖像截图 风景截图 另一张截图 我非常抱歉我的问题对你们
  • WPF - 更改隐藏代码中的样式

    我有一个显示 TFS 查询结果的列表框 我想更改后面代码中 ListBoxItem 的样式 以使查询结果中包含列 ListBox 项的样式在我的 Windows Resources 部分中定义 我已经尝试过这个 public T GetQu
  • WPF 嵌套样式

    我的应用程序中有文本块和组合框 我希望文本块前景为白色 组合框前景为黑色 我尝试的是
  • 将样式应用于特定类型的所有子元素

    我想为 wpf 编写一个样式 其中 StatusBar 中的所有按钮 具有定义的样式 都具有相同的样式 例如宽度 这是我的风格 以及元素的 xaml
  • 在电子邮件中设置 tr 或 td 样式?

    我想更改整行单元格的背景颜色和字体大小 和内联样式 因为我不能使用样式表或
  • 自定义样式的 AlertDialog 的样式属性

    我正在尝试设计我的 AlertDialog 的样式 并且我已经能够通过样式和 xml 声明更改其中的大部分内容 但仍然存在一些问题 如何将标题栏周围的区域从黑色更改为我的自定义颜色 如何将外部背景更改为透明 阴影落在蓝色的外部部分 如何更改
  • Android 在自定义项目上应用主题

    我可以声明一个主题和一个特定的按钮设计 问题是这种样式适用于所有按钮 我想声明一个具有自己风格的特定按钮 独立于其他按钮更改每个主题 类似于 保存 按钮 任何想法 我尝试了以下方法
  • Python断言风格

    我想知道我所做的是否是一种适当的断言方法 我正在尝试为 Python 的风格指南制作一些既简洁又非常正确的东西 try assert self port number 0 assert self handle None assert isi
  • 更改 Xamarin 中 ListView 所选项目的背景颜色

    我在 Xamarin 中创建了一个主从类型项目 当我从主页中选择一个项目时 背景颜色默认为橙色 我怎样才能将其更改为我选择的颜色 此问题是 Android 特有的 在 Android 项目中将此行添加到 Resources values s
  • 通过样式设置 DataGridCellsPresenter 的 ItemsPanel 不起作用

    我正在尝试设置ItemsPanel of a DataGridCellsPresenter在我的窗口的资源中 Bu
  • 是否可以将自定义属性添加到 Android 资源的样式中?

    我在我的项目中使用视图流组件 它允许开发人员覆盖一些属性 例如
  • Android应用主题更换流畅

    我正在开发一个提供白天和夜间主题的项目 我正在更改主题 夜间主题 AppCompatDelegate setDefaultNightMode AppCompatDelegate MODE NIGHT YES 日主题 AppCompatDel
  • silverlight/xaml 中通知的图标徽章覆盖

    我的 silverlight 应用程序中有一个功能区栏 并且在其中一个图标上我希望有一个徽章图标 显示该图标激活的视图中的项目数 想象一下 OS X 中显示未读邮件数量的邮件图标或 IOS 应用程序图标上的通知计数器 我对 xaml 样式不
  • UWP XAML 使用 VisualStateManager 更改目标的样式

    我正在使用 Style 来自定义我的组件

随机推荐

  • 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