lvgl电池电量显示(代码片段)

不咸不要钱 不咸不要钱     2022-12-04     805

关键词:

#include "lvgl/lvgl.h"

#define  OUTLINE_W    50 //电池图标宽度
#define  OUTLINE_H    25 //电池图标高度

void lv_anim_cb(void* p, int32_t v)

    //实现变色效果,电池电量低于20% 红色
    static int32_t cnt;
    if (cnt >= OUTLINE_W * 0.2 && v < OUTLINE_W * 0.2)
    
        lv_obj_set_style_bg_color(p, lv_color_hex(0xff0000), 0);
    
    else if (v >= OUTLINE_W * 0.2 && cnt < OUTLINE_W * 0.2)
    
        lv_obj_set_style_bg_color(p, lv_color_hex(0xff00), 0);
    
    cnt = v;

    //修改电量颜色obj宽度
    lv_obj_set_width(p, v);

    //修改电池百分比
    lv_obj_t *text = lv_obj_get_child(lv_obj_get_parent(p), -1);
    lv_label_set_text_fmt(text, "%d", v*100/(OUTLINE_W-4));

void myTest1(void)

    lv_obj_t* outline = lv_obj_create(lv_scr_act());

    //设置border和pading
    lv_obj_set_style_border_width(outline, 2, 0);
    lv_obj_set_style_pad_all(outline, 0, 0);

    //设置圆角
    lv_obj_set_style_radius(outline, 8, 0);

    //关闭滚动条
    lv_obj_clear_flag(outline, LV_OBJ_FLAG_SCROLLABLE);

    //设置宽高
    lv_obj_set_size(outline, OUTLINE_W, OUTLINE_H);

    //居中对齐
    lv_obj_align(outline, LV_ALIGN_CENTER, 0, 0);

    //电池电量填充obj
    lv_obj_t* pad = lv_obj_create(outline);

   
    //设置outline
    lv_obj_set_style_outline_width(pad, 0, 0);
    lv_obj_set_style_outline_pad(pad, 0, 0);
    lv_obj_set_style_border_width(pad, 0, 0);
    //设置背景色
    lv_obj_set_style_bg_color(pad, lv_color_hex(0xff0000), 0);

    //设置宽高
    lv_obj_set_size(pad, OUTLINE_W, OUTLINE_H-4);
    lv_obj_set_style_border_width(pad, 0, 0);

    //设置圆角
    lv_obj_set_style_radius(pad, 8, 0);

    //居中对齐
    lv_obj_align(pad, LV_ALIGN_LEFT_MID, 0, 0);

    //关闭滚动条
    lv_obj_clear_flag(pad, LV_OBJ_FLAG_SCROLLABLE);

    //电池百分比
    lv_obj_t* label = lv_label_create(outline);
    lv_obj_align(label, LV_ALIGN_CENTER, 0, 0);

    //设置动画, 模仿电池电量变化
    lv_anim_t a;
    lv_anim_init(&a);

     /*Set the "animator" function*/
    lv_anim_set_exec_cb(&a, lv_anim_cb);

    /*Set the "animator" function*/
    lv_anim_set_var(&a, pad);

    /*Length of the animation [ms]*/
    lv_anim_set_time(&a, 10000);

    /*Set start and end values. E.g. 0, 150*/
    lv_anim_set_values(&a, 0, OUTLINE_W-4);

     /*Time to wait before starting the animation [ms]*/
    lv_anim_set_delay(&a, 1000);

    /*Play the animation backward too with this duration. Default is 0 (disabled) [ms]*/
    lv_anim_set_playback_time(&a, 0);

    /*Delay before playback. Default is 0 (disabled) [ms]*/
    lv_anim_set_playback_delay(&a, 0);

    /*Number of repetitions. Default is 1.  LV_ANIM_REPEAT_INFINIT for infinite repetition*/
    lv_anim_set_repeat_count(&a, LV_ANIM_REPEAT_INFINITE);

    /*Delay before repeat. Default is 0 (disabled) [ms]*/
    lv_anim_set_repeat_delay(&a, 1000);

    /* START THE ANIMATION
     *------------------*/
    lv_anim_start(&a);                             /*Start the animation*/


android自定义view绘制电池电量(电池内带数字显示)(代码片段)

最新公司需要一个电池内带数字的显示电池电量需求,百度了一下。参考下面这篇文章写的Android自定义View之电池电量显示。增加了里面电池电量数字显示,还有就是一个屏幕适配。不管屏幕分辨率基本都能适配。直接上... 查看详情

shlinuxmintcinnamon:在电池电量不足时显示通知(代码片段)

查看详情

qt开源作品25-电池电量控件(代码片段)

...的人都会用智能手机,本次要写的控件就是智能手机中的电池电量表示控件,采用纯painter绘制,其实也可以采用贴图,我估计大部分手机上的都是采用贴图的形式,贴图有个好处就是程序员不用操心,drawimage即可,速度非常快... 查看详情

在android中自动更新电池电量

】在android中自动更新电池电量【英文标题】:Automaticupdatebatterylevelinandroid【发布时间】:2013-01-2010:58:19【问题描述】:我正在使用此代码在我的应用中显示电池电量。它工作正常,但不会自动更新电池电量。如何自动更新电池... 查看详情

Android 开发:显示电池电量

】Android开发:显示电池电量【英文标题】:AndroidDevelopment:ShowBatteryLevel【发布时间】:2011-07-0317:23:58【问题描述】:我一直在寻找这个,只发现真正搞砸的东西。没有一种简单的方法可以在吐司或Textview上显示21%的电池电量吗?... 查看详情

Swift 3 Xcode:如何将电池电量显示为整数?

】Swift3Xcode:如何将电池电量显示为整数?【英文标题】:Swift3Xcode:Howtodisplaybatterylevelsasaninteger?【发布时间】:2017-04-0522:39:09【问题描述】:我正在制作一个使用Swift读取电池百分比的应用!现在我的输出是这样的:61.0%或24.0%或... 查看详情

iphone11pro显示电量怎样能显示电量

可以通过查看控制中心看到电量。iPhone11pro电池百分比显示是默认开启的,无法手动设置,只需要从屏幕右上方往下拉,进入到手机控制中心就能看到电池百分比了。这是因为受限于刘海屏的影响,iPhone11pro顶部的显示区域有时... 查看详情

esp32基础应用之lvgl显示中文(代码片段)

...简介该工程在《ESP32基础应用之LVGL基础》之上实现中文的显示。参考文章《ESP32IDFLVGL8.0flash外部字库显示中文显示》2工程实现2.1制作字库使用软件LvglFontToolV0.4自作二进制字库文件。 查看详情

lvgl|lvgl教程之修改lvgl中lv_dropdown(下拉列表)的选项文字(大小样式显示中文)(代码片段)

...表允许用户从列表中选择一个选项。下拉列表默认关闭并显示单个值或预定义文本。激活后(通过单击下拉列表),将创建一个列表,用户可以从中选择一个选项。当用户选择一个新值时,该列表将再次被删... 查看详情

电池电量低。充电电流不够...在显示此消息之前是不是有意图?

】电池电量低。充电电流不够...在显示此消息之前是不是有意图?【英文标题】:Batteryislow.Chargingcurrentnotenough...Isthereintentbeforethismessageisshown?电池电量低。充电电流不够...在显示此消息之前是否有意图?【发布时间】:2011-09-1315... 查看详情

android——个性化progress电池显示视图(代码片段)

...没想到可以通过ProgressBar直接实现,想的是通过一个电池图的遮盖,然后再用canvas画内部的红色长方形实现的。后面知道了居然可以直接用ProgressBar写。。。下面讲一下具体怎么实现的,这个也可以收藏起来以后参考... 查看详情

lvgl8基础语法-图片显示(代码片段)

找到你想显示的图片使用图片生成工具lvgl官方图片生成工具修改图片尺寸,按你的屏幕尺寸来添加数组文件到模拟器,单片机项目则路径自己定义声明数组和图片空间语法LV_IMG_DECLARE(zzr);voidlv_example_roller_3(void)lv_obj_t*img... 查看详情

lvgl8基础语法-图片显示(代码片段)

找到你想显示的图片使用图片生成工具lvgl官方图片生成工具修改图片尺寸,按你的屏幕尺寸来添加数组文件到模拟器,单片机项目则路径自己定义声明数组和图片空间语法LV_IMG_DECLARE(zzr);voidlv_example_roller_3(void)lv_obj_t*img... 查看详情

显示当前电池电量的 gui 控件 windows mobile C#

】显示当前电池电量的gui控件windowsmobileC#【英文标题】:guicontrolthatshowscurrentbatterylevelwindowsmobileC#【发布时间】:2011-05-1506:37:26【问题描述】:我正在寻找一个用于VisualStudio的控件,它可以显示windows移动设备的当前电池寿命。有... 查看详情

苹果电量百分比在哪里设置

...一个SystemOptions,里面提供里一些有趣的设置,比如数字电池,数字化显示wifi、手机信号强度等。5、打开第一个NumericBattery的开关,一会就会显示电池电量的百分比。还有一种:1:连接WINSCP。2:将这里的文件百分比.zip解压缩到A... 查看详情

chatgpt解答:安卓app耗电量测试方案和源码,用android代码实现(代码片段)

...建议。安卓APP耗电量测试方案:使用安卓系统自带的电池使用情况统计功能,查看应用程序的电池使用情况。使用第三方电池测试应用程序,例如AccuBattery、GSamBatteryMonitor等。使用工具进行电池消耗测试,例如Batte... 查看详情

基于arduino的esp32学习笔记lvgl文件系统移植,中文字库和图片显示(代码片段)

...LVGL文件系统,读取SD卡中的中文字库和图片,并显示在屏幕上硬件准备ESP-WROOM-32E开发板ST7789240x2401.3寸SPI接口LCD屏16位色深RGB565SD卡插槽模 查看详情

lvgl8基础语法-标签(代码片段)

创建标签lv_obj_t*label=lv_label_create(lv_scr_act());基于codeblock模拟器运行显示自定义文本//创建标签lv_obj_t*label=lv_label_create(lv_scr_act());//设置文本方式1lv_label_set_text(label,"wenmou9");自定义文本居中显示//创建标签lv 查看详情