如何在 android 中以省电模式播放动画?有什么解决办法吗?
How to play animations in battery saver mode in android ? Is there any work around?
我在我的应用程序中使用动画库(用于扫描)。每当设备进入节电模式动画时,disabled.In 一些其他应用程序动画不会被禁用。是否有任何解决方法可以在节电器模式下启用动画?如果没有解决方法,那么其他应用程序是如何实现的?
最后我通过倒计时实现了 timer.For 每个间隔我都在更改视图的属性,如 alpha、ScaleX 和 ScaleY。如果我想重复那个动画,我将它包装在一个处理程序中。我不知道这是否是最好的方法。我在这里发帖是为了对某人有所帮助。
Handler mHandler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
View view = new View(context); // View to animate
view.setScaleX(0);
view.setScaleY(0);
view.setAlpha(1);
CountdownTimer countDownTimer = new CountDownTimer(animationDuration, 1) {
@Override
public void onTick(long l) {
float value = l / 2000f;
view.setScaleX(1 - value);
view.setScaleY(1 - value);
view.setAlpha(value);
}
@Override
public void onFinish() {
removeView(view);
handler.postDelayed(runnable, 500);
}
};
countDownTimer.start();
}
};
handler.postDelayed(runnable, 500);
我在我的应用程序中使用动画库(用于扫描)。每当设备进入节电模式动画时,disabled.In 一些其他应用程序动画不会被禁用。是否有任何解决方法可以在节电器模式下启用动画?如果没有解决方法,那么其他应用程序是如何实现的?
最后我通过倒计时实现了 timer.For 每个间隔我都在更改视图的属性,如 alpha、ScaleX 和 ScaleY。如果我想重复那个动画,我将它包装在一个处理程序中。我不知道这是否是最好的方法。我在这里发帖是为了对某人有所帮助。
Handler mHandler = new Handler();
Runnable runnable = new Runnable() {
@Override
public void run() {
View view = new View(context); // View to animate
view.setScaleX(0);
view.setScaleY(0);
view.setAlpha(1);
CountdownTimer countDownTimer = new CountDownTimer(animationDuration, 1) {
@Override
public void onTick(long l) {
float value = l / 2000f;
view.setScaleX(1 - value);
view.setScaleY(1 - value);
view.setAlpha(value);
}
@Override
public void onFinish() {
removeView(view);
handler.postDelayed(runnable, 500);
}
};
countDownTimer.start();
}
};
handler.postDelayed(runnable, 500);