使用ProgressBar显示电池电量信息
自定义的样式颜色
<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
<!-- 背景 gradient是渐变,corners定义的是圆角 -->
<item android:id="@android:id/background">
<nine-patch
android:dither="true"
android:src="@drawable/icon_battery" />
</item>
<!-- 进度条 -->
<item android:id="@android:id/progress">
<clip>
<shape>
<corners android:radius="0dp" />
<solid android:color="#888882" />
</shape>
</clip>
</item>
</layer-list>
布局使用
<ProgressBar
android:id="@+id/pgb_battery"
style="?android:attr/progressBarStyleHorizontal"
android:layout_width="20dp"
android:layout_height="10dp"
android:layout_gravity="center_vertical"
android:layout_marginRight="4dp"
android:layout_marginTop="1dp"
android:max="100"
android:progress="50"
android:progressDrawable="@drawable/read_battery" />
说明:max表示最大的值、progress表示当前的值
电池信息的监听
private BroadcastReceiver batteryReceiver = new BroadcastReceiver() {
@Override
public void onReceive(Context context, Intent intent) {
if (Intent.ACTION_BATTERY_CHANGED.equals(intent.getAction())) {
//获取当前电量
int level = intent.getIntExtra("level", 0);
//电量的总刻度
int scale = intent.getIntExtra("scale", 100);
}
}
};
说明:注意要去注册和注销广播