我是新来的机器人。我想做一个电池充电动画在手机上,例如,在屏幕的右上角,是一个小图标,在充电时倒转,并停止在当前的电池百分比。
到目前为止,在我的代码中,我已经能够让它移动,但它从未停止。
我想要的是动画停止时,它没有充电,或它停止在当前的电池百分比。
下面是我在动画中的代码:
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.batteryinfo);
ImageView batteryImage = (ImageView) findViewById(R.id.BatteryImage);
batteryImage.setBackgroundResource(R.drawable.ic_battery_animation);
BatteryAnimation = (AnimationDrawable) batteryImage.getBackground();
batteryImage.post(new Starter());
textBatteryLevel = (TextView) findViewById(R.id.batterylevel_text);
registerBatteryLevelReceiver();
}
class Starter implements Runnable {
public void run() {
BatteryAnimation.start();
}
}到目前为止,我可以得到电池的状态,插头类型,和健康的电池。
发布于 2012-02-17 08:53:39
初学者类也应该实现停止逻辑。类似于:
class Starter implements Runnable {
boolean stopConditionMet = false;
public void run() {
BatteryAnimation.start();
try {
while (!stopConditionMet) { Thread.sleep(500); }
} catch (InterruptedException e) {}
BatteryAnimation.stop();
}
public void stop() { stopConditionMet=true; }
}(您可以使用wait()-notifyAll()方案来代替繁忙的等待。以上示例(如果是为了简单起见)。
。。您需要将初学者类的实例保存在您的活动中。匿名声明它不会允许您在需要时更改它的值。
https://stackoverflow.com/questions/9216616
复制相似问题