L版本状态栏添加电量百分比
2015-12-10 09:45
302 查看
关于状态栏中添加电量百分比。
1, 添加view
status_bar.xml
<com.android.keyguard.AlphaOptimizedLinearLayout android:id="@+id/system_icon_area"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<include layout="@layout/system_icons" />
<!-- add by zjx 20151205 -->
<TextView android:id="@+id/battery_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/header_battery_margin_keyguard"
android:paddingEnd="@dimen/battery_level_padding_end"
android:textColor="#ffffff"
android:textSize="@dimen/battery_level_text_size"
android:importantForAccessibility="noHideDescendants"/>
<!-- end by zjx-->
<com.android.systemui.statusbar.policy.Clock
android:id="@+id/clock"
android:textAppearance="@style/TextAppearance.StatusBar.Clock"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:singleLine="true"
android:paddingStart="7dp"
android:gravity="center_vertical|start"/>
</com.android.keyguard.AlphaOptimizedLinearLayout>
</LinearLayout>
2,修改PhoneStatusBar.java 代码:
添加代码:
....................
import java.text.NumberFormat;
.....................
PhoneStatusBar.java
BatteryController mBatteryController;
private TextView mBatteryLevel;
makeStatusBarView()方法:
...................
mBatteryController = new BatteryController(mContext);
mBatteryLevel = (TextView) mStatusBarView.findViewById(R.id.battery_level);
mBatteryController.addStateChangedCallback(new BatteryStateChangeCallback() {
@Override
public void onPowerSaveChanged() {
mHandler.post(mCheckBarModes);
if (mDozeServiceHost != null) {
mDozeServiceHost.firePowerSaveChanged(mBatteryController.isPowerSave());
}
}
@Override
public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
// noop
//add by zjx
String percentage = NumberFormat.getPercentInstance().format((double) level / 100.0);
mBatteryLevel.setText(percentage);
//end by zjx
}
});
1, 添加view
status_bar.xml
<com.android.keyguard.AlphaOptimizedLinearLayout android:id="@+id/system_icon_area"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:orientation="horizontal"
>
<include layout="@layout/system_icons" />
<!-- add by zjx 20151205 -->
<TextView android:id="@+id/battery_level"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:layout_marginStart="@dimen/header_battery_margin_keyguard"
android:paddingEnd="@dimen/battery_level_padding_end"
android:textColor="#ffffff"
android:textSize="@dimen/battery_level_text_size"
android:importantForAccessibility="noHideDescendants"/>
<!-- end by zjx-->
<com.android.systemui.statusbar.policy.Clock
android:id="@+id/clock"
android:textAppearance="@style/TextAppearance.StatusBar.Clock"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:singleLine="true"
android:paddingStart="7dp"
android:gravity="center_vertical|start"/>
</com.android.keyguard.AlphaOptimizedLinearLayout>
</LinearLayout>
2,修改PhoneStatusBar.java 代码:
添加代码:
....................
import java.text.NumberFormat;
.....................
PhoneStatusBar.java
BatteryController mBatteryController;
private TextView mBatteryLevel;
makeStatusBarView()方法:
...................
mBatteryController = new BatteryController(mContext);
mBatteryLevel = (TextView) mStatusBarView.findViewById(R.id.battery_level);
mBatteryController.addStateChangedCallback(new BatteryStateChangeCallback() {
@Override
public void onPowerSaveChanged() {
mHandler.post(mCheckBarModes);
if (mDozeServiceHost != null) {
mDozeServiceHost.firePowerSaveChanged(mBatteryController.isPowerSave());
}
}
@Override
public void onBatteryLevelChanged(int level, boolean pluggedIn, boolean charging) {
// noop
//add by zjx
String percentage = NumberFormat.getPercentInstance().format((double) level / 100.0);
mBatteryLevel.setText(percentage);
//end by zjx
}
});
相关文章推荐
- Linux中设置服务自启动的三种方式
- 十大热招城市公布,上海依然是跳槽首选
- javascript中的事件问题
- myeclipse 使用 color theme javascirpt背景发白
- 深入理解预编译,编译,汇编,链接的过程——之预编译
- httpd配置详解
- Unity AssetBundle爬坑手记
- MS-DOS 7.10完整安装版(含图文安装程序)
- 提领NULL指针
- html调用applet
- HP ALM 使用经验
- dubbo中kryo序列化使用
- 太原网络营销师郭文军揭秘淘宝标题的撰写思路
- Android Studio编译NDK工程时,报ndk-build.cmd'' finished with non-zero exit value 2错误
- C#开源的AOP框架--KingAOP基础
- kafka无法网络访问问题
- HP ALM 使用经验
- 折半查找
- unistd.h头文件
- Changes of Android 6.0