LVGL V8之Add styles to parts and state

133 篇文章 113 订阅

创建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);
  • 效果图
    在这里插入图片描述
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风雨依依

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值