Android系统自定义关机充电图标 您所在的位置:网站首页 小米充电界面充电动画怎么显示出来 Android系统自定义关机充电图标

Android系统自定义关机充电图标

#Android系统自定义关机充电图标| 来源: 网络整理| 查看: 265

需求描述

关机充电图标的修改地址在哪里?替换照片有哪些格式要求?

实现方案

图片路径: system/core/healthd/images/ 关机充电: system/core/healthd/healthd_mode_charger.cpp 字体路径: bootable/recovery/minui/graphics.cpp bootable/recovery/minui/font_10x18.h

充电图标和电量百分比显示主要在函数 healthd_mode_charger_heartbeat中实现:

void healthd_mode_charger_heartbeat() { struct charger *charger = &charger_state; int64_t now = curr_time_ms(); handle_input_state(charger, now); handle_power_supply_state(charger, now); /* do screen update last in case any of the above want to start * screen transitions (animations, etc) */ update_screen_state(charger, now); }

battery_scale.png是由6张不同充电状态的图片的合成,对应状态如下:

static struct frame batt_anim_frames[] = { { .disp_time = 750, .min_capacity = 0, .level_only = false, .surface = NULL, }, { .disp_time = 750, .min_capacity = 20, .level_only = false, .surface = NULL, }, { .disp_time = 750, .min_capacity = 40, .level_only = false, .surface = NULL, }, { .disp_time = 750, .min_capacity = 60, .level_only = false, .surface = NULL, }, { .disp_time = 750, .min_capacity = 80, .level_only = true, .surface = NULL, }, { .disp_time = 750, .min_capacity = BATTERY_FULL_THRESH, .level_only = false, .surface = NULL, }, };

battery_scale.png图片的制作

利用系统源码中的脚本bootable/recovery/interlace-frames.py,即能将battery_scale.png拆分成几张png图片,也可以将若干张png图片合成一张battery_scale.png

合成图片命令

python interlace-frames.py -o battery_scale.png battery00.png battery01.png battery02.png battery03.png battery04.png battery05.png

拆分图片命令

python interlace-frames.py -d battery_scale.png -o battery.png

拆分后的原生关机图片格式:位深度8,png格式 ,分辨率为120x186 测试后发现位深度不限,分辨率可以与屏幕分辨率相同,格式为png即可,但如果遇到图片替换后黑屏不显示充电图标,建议使用和原生格式一致的。

在这里插入图片描述 battery_scale.png使用adb导入

adb root adb remount adb push battery_scale.png res/images/charger adb reboot 附件工具

XnConvert——批量转换图片位深度工具



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有