我想使用图像显示手机的电池电量,这些图像会随着电池电量的增加或减少而动态变化。他们是否有任何特定的API?对此的任何参考都会很棒..
答案 0 :(得分:2)
在班级中创建一个想要显示电池级别的接收器,如
private BroadcastReceiver mBatInfoReceiver = new BroadcastReceiver(){
@Override
public void onReceive(Context ctxt, Intent intent) {
int level = intent.getIntExtra(BatteryManager.EXTRA_LEVEL, 0);
batteryTxt.setText(String.valueOf(level) + "%");
if(level > 90)
img_battery.setImageResource(R.drawable.battery9);
else if(level > 80)
img_battery.setImageResource(R.drawable.battery8);
else if(level > 70)
img_battery.setImageResource(R.drawable.battery7);
else if(level > 60)
img_battery.setImageResource(R.drawable.battery6);
else if(level > 50)
img_battery.setImageResource(R.drawable.battery5);
else if(level > 35)
img_battery.setImageResource(R.drawable.battery4);
else if(level > 20)
img_battery.setImageResource(R.drawable.battery3);
else if(level > 5)
img_battery.setImageResource(R.drawable.battery2);
else if(level > 2)
img_battery.setImageResource(R.drawable.battery1);
else
img_battery.setImageResource(R.drawable.battery0);
}
};
并在onCreate中注册接收器
this.registerReceiver(this.mBatInfoReceiver, new IntentFilter(Intent.ACTION_BATTERY_CHANGED));
不要忘记在onDestroy中取消注册它
@Override
protected void onDestroy() {
this.unregisterReceiver(this.mBatInfoReceiver);
super.onDestroy();
}
和img_battery将是显示电池电量的ImageView,而batteryTxt则是显示精确百分比的TextView。
答案 1 :(得分:0)
您可以选择自定义电池寿命视图。包装矩形,内部指示器矩形。使用不同级别的电池,您可以绘制不同宽度和颜色的内部容器。 Draw png也很平易近人