Android5.1关机充电界面尺寸修改

因为项目的屏幕尺寸和一般的手机屏幕不一样,因此关机充电界面在设备上运行后严重变形,就需要自己修改这个界面了,废话不多说了,开打开打!

首先要说明这里是以Android 5.1的源码实现的,其它版本源码可能会有差异。

关机充电的界面和Android上层应用一样,是按照分辨率的不同有很多组图片的,但是和上层不同的是,在这里使用哪组图片是可以自己配置的,所以在修改之前一定要确定当前源码使用的是哪一组,否则千辛万苦修改了以后会发现,并没有什么卵用。

1、界面使用的分辨率

在源码里找到这个文件:/bootable/bootloader/lk/project/<project>.mk,里边有这么一句话,其中qvga就是当前使用的分辨率,记住这几个字母看下一步

BOOT_LOGO = qvga

2、界面图片路径

所有分辨率的图片都在该文件夹下:/bootable/bootloader/lk/dev/logo

然后就用到第一步里的分辨率了,根据分辨率找到对应的文件夹,进去以后就会看到所有系统用到的图片,然后根据你源码运行的结果,找一下里边具体用到的哪些图片,我这里用到的是qvga_bat_animation*这些,这里可以根据需要替换图片或者修改图片尺寸,具体怎么做完全由你把握,你就是上帝!

3、修改显示尺寸

第二步修改了图片大小,但是还是不行,充电界面的显示还是会乱七八糟,这里继续改

找到这个文件:/vendor/mediatek/proprietary/external/libshowlogo/cust_display.h,在文件里搜索一下刚才的分辨率,找到对应的数据开始修改:

// 电量增加时电池图标内电量增加,其增加的为一个矩形的高,以下为矩形位置
    // battery capacity rectangle
    #define CAPACITY_LEFT                (82) // battery capacity center
    #define CAPACITY_TOP                 (124)
    #define CAPACITY_RIGHT               (158)
    #define CAPACITY_BOTTOM              (241)
// 电量显示为两个数字和一个百分号,以下为第一个数字的位置
    // first number rectangle
    #define NUMBER_LEFT                  (93) // number
    #define NUMBER_TOP                   (50)
    #define NUMBER_RIGHT                 (109)
    #define NUMBER_BOTTOM                (73)
// 以下为百分号位置
    // %  rectangle
    #define PERCENT_LEFT                 (125) // percent number_left + 2*number_width
    #define PERCENT_TOP                  (50)
    #define PERCENT_RIGHT                (145)
    #define PERCENT_BOTTOM               (73)
// 以下为顶部动画的位置
    // top animation part
    #define TOP_ANIMATION_LEFT           (82) // top animation
    #define TOP_ANIMATION_TOP            (100)
    #define TOP_ANIMATION_RIGHT          (158)
    #define TOP_ANIMATION_BOTTOM         (113)

好了,到这里为止就已经改完了,编译源码刷入系统,根据具体情况可以再调整上边头文件中的数据

另外补充一点,在刚才的头文件最下边,有一句:

/* The option of new charging animation */
#define ANIMATION_NEW

可能如果没有这个定义源码走的代码会不一样,具体没有测试