现在的位置: 首页 > 综合 > 正文

Android4.3状态栏增加电量百分比显示功能

2017年11月15日 ⁄ 综合 ⁄ 共 1245字 ⁄ 字号 评论关闭

涉及到的源码:
BatteryController.java

其中已经有了一个成员mIconViews,电量显示的mLabelViews已经存在,但没有使用,这里可以参考系统都在哪些地方增加了mIconViews,照猫画虎,也把mLabelViews加上去即可。
同时修改BatteryController.java中的onReceive:

代码段:
boolean batteryPercent=false;//这里可以做成在Setting中设置的开关
if (batteryPercent) {
           N = mLabelViews.size();
           for (int i=0; i<N; i++) {
               TextView v = mLabelViews.get(i);
               v.setText(Integer.toString(level)+"%");
           }
}

这里主要是要在PhoneStatusBar.java中增加:
mBatteryController.addIconView((ImageView)mStatusBarView.findViewById(R.id.battery));
mBatteryController.addLabelView((TextView)mStatusBarView.findViewById(R.id.battery_text));
还有很多其它地方,我不确定是否与此功能有关系,但当时都改了。建议使用SI查找所有调用addIconView,观察一下如果有对mBatteryController的addIconView,就同时增加一个addLabelView。

上面这些都改完后需要修改res/layout下对应的布局文件,在statusbar里面增加显示电量百分比需要的Textview:

在res/layout目录下搜索“+id/battery”关键字,在其前面增加下面的红色部分代码:
                <TextView
                    android:id="@+id/battery_text"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    />

                <ImageView
                    android:id="@+id/battery"
                    android:layout_height="wrap_content"
                    android:layout_width="wrap_content"
                    android:paddingStart="4dip"
                    />
比如如果你的是双卡版本,则应该是文件msim_status_bar.xml

大功告成。
如果是Android4.4源码本身就已经支持了,就用不着这么劳神了。

抱歉!评论已关闭.