LVGL V8之Add styles to parts and state

news/2024/7/23 11:32:45

创建style

  • 初时style
    static lv_style_t style_indic;
    lv_style_init(&style_indic);
  • 设置背景色为淡红色
lv_style_set_bg_color(&style_indic, lv_palette_lighten(LV_PALETTE_RED, 3));
  • 设置渐变颜色为红色
lv_style_set_bg_grad_color(&style_indic, lv_palette_main(LV_PALETTE_RED));
  • 设置渐变颜色方向为水平方向渐变
 lv_style_set_bg_grad_dir(&style_indic, LV_GRAD_DIR_HOR);
  • 初时化按键按下的style
    static lv_style_t style_indic_pr;
    lv_style_init(&style_indic_pr);
  • 设置阴影颜色
lv_style_set_shadow_color(&style_indic_pr, lv_palette_main(LV_PALETTE_RED));
  • 设置阴影宽度
 lv_style_set_shadow_width(&style_indic_pr, 10);
  • 设置阴影伸展部分
lv_style_set_shadow_spread(&style_indic_pr, 3);
  • 创建slider对象,添加style,居中显示
    lv_obj_t* obj = lv_slider_create(lv_scr_act());
    lv_obj_add_style(obj, &style_indic, LV_PART_INDICATOR);
    lv_obj_add_style(obj, &style_indic_pr, LV_PART_INDICATOR | LV_STATE_PRESSED);
    lv_slider_set_value(obj, 70, LV_ANIM_OFF);
    lv_obj_center(obj);

完整代码,仅供参考

static void lv_example_style_13(void)
{
    static lv_style_t style_indic;
    lv_style_init(&style_indic);
    lv_style_set_bg_color(&style_indic, lv_palette_lighten(LV_PALETTE_RED, 3));
    lv_style_set_bg_grad_color(&style_indic, lv_palette_main(LV_PALETTE_RED));
    lv_style_set_bg_grad_dir(&style_indic, LV_GRAD_DIR_HOR);
    static lv_style_t style_indic_pr;
    lv_style_init(&style_indic_pr);
    lv_style_set_shadow_color(&style_indic_pr, lv_palette_main(LV_PALETTE_RED));
    lv_style_set_shadow_width(&style_indic_pr, 10);
    lv_style_set_shadow_spread(&style_indic_pr, 3);
    /*Create an object with the new style_pr*/
    lv_obj_t* obj = lv_slider_create(lv_scr_act());
    lv_obj_add_style(obj, &style_indic, LV_PART_INDICATOR);
    lv_obj_add_style(obj, &style_indic_pr, LV_PART_INDICATOR | LV_STATE_PRESSED);
    lv_slider_set_value(obj, 70, LV_ANIM_OFF);
    lv_obj_center(obj);
}

调用lv_example_style_13运行效果

在这里插入图片描述

  • 修改阴影伸展部分
lv_style_set_shadow_spread(&style_indic_pr, 13);
  • 效果图
    在这里插入图片描述

http://www.niftyadmin.cn/n/1226642.html

相关文章

构建Python,Raspberry Pi和MySQL数据服务器

MySQL是世界上最流行的关系数据库系统之一,并且是大多数LAMP(Linux,Apache,MYSQL和PHP)栈中的常见组件。它是帮助驱动现代网络的技术之一。 诸如MYSQL之类的数据库通常是动态网站的关键组件,并且是为Web应…

LVGL V8之Extending the current theme

创建theme 定义style变量 static lv_style_t style_btn;theme回调处理 static void new_theme_apply_cb(lv_theme_t* th, lv_obj_t* obj) {LV_UNUSED(th);if (lv_obj_check_type(obj, &lv_btn_class)) //检查是否为Button class{lv_obj_add_style(obj, &style_btn, …

Python版Socket(套接字)应用-客户端和服务器

套接字可以配置为充当服务器并侦听传入的消息,或者作为客户端连接到其他应用程序。连接TCP / IP套接字的两端后,将进行双向通信。 回显服务器 回显客户端 简单客户端连接 选择侦听地址 多线程服务器 视频演示文本内容 发送和接受数据缓冲和流数据…

Python版SSH远程服务器使用Paramiko和scp库

作为开发人员,配置或调试VPS通常是无法解决的,而且并不是特别有意义。 充其量,您的应用程序可能最终将以与本地环境相同的方式运行。 我们如何才能使这一不可避免的工作变得更好? 好吧,我们可以使其自动化。 设置SSH密…

LVGL V8之Start animation on an event

创建动画 动画回调处理函数 static void anim_x_cb(void* var, int32_t v) {lv_obj_set_x(var, v); // 设置对象x坐标 }slider事件处理回调函数 static void sw_event_cb(lv_event_t* e) {lv_obj_t* sw lv_event_get_target(e); //获取事件发生的对象lv_obj_t* label lv_e…

LVGL V8之Playback animation

创建动画 动画播放处理回调函数 static void anim_x_cb(void* var, int32_t v) {lv_obj_set_x(var, v); //设置动画对象x坐标 } static void anim_size_cb(void* var, int32_t v) {lv_obj_set_size(var, v, v); //设置动画对象大小尺寸 }创建对象播放动画处理 static void lv…

SSH远程访问AWS EC2

步骤1:启动Amazon EC2实例 视频演示:启动AWS EC2实例 导航到Amazon EC2并开始启动新实例。在本教程中,我将使用Amazon Linux 2 AMI(HVM)操作系统。 创建一个没有规则的新安全组(例如MediumSG&#xff09…

LVGL V8之Animation timeline

定义变量 static lv_anim_timeline_t* anim_timeline NULL; static lv_obj_t* obj1 NULL; static lv_obj_t* obj2 NULL; static lv_obj_t* obj3 NULL; static const lv_coord_t obj_width 90; static const lv_coord_t obj_height 70;动画播放回调函数 static void set…