Deh*_*zer 1 animation android lag
我有两个RelativeLayout视图。第一个大约有三个孩子。第二个视图只有第一个视图作为其子视图。我有两个动画fadeIn和translateIn,必须分别将它们应用于视图firstView和secondView。下面的代码正在工作。它们同时开始和结束,但是很滞后。不太顺利。我可以做些什么来同时平稳运行它们?
这是代码:
private static final int duration = 500;
protected static boolean ANIMATION_FINISHED;
protected static void onShowAnimation() {
int width;
ANIMATION_FINISHED = false;
width = getScreenWidth();
final AlphaAnimation fadeIn = new AlphaAnimation(0, 1);
final TranslateAnimation translateIn = new TranslateAnimation(-width, 0, 1, 1);
fadeIn.setDuration(duration);
translateIn.setDuration(duration);
firstView.startAnimation(translateIn);
secondView.startAnimation(fadeIn);
secondView.postDelayed(new Runnable() {
@Override
public void run() {
ANIMATION_FINISHED = true;
}
}, duration);
}
Run Code Online (Sandbox Code Playgroud)
直到姜饼,动画在Android中一直都很落后。在Honeycomb中,他们用新框架修复了它,但是开发人员(就是您)必须知道要使用哪个框架。
有一个很好的流畅的硬件加速动画,你应该使用android.animation不android.view.animation
在这里,您可以获得有关属性动画框架的完整指南:https : //developer.android.com/guide/topics/graphics/prop-animation.html
这是它的基类:https : //developer.android.com/reference/android/animation/package-summary.html
如果您需要针对姜饼或以下版本的设备,建议您使用NineOldAndroid库,该库会自动处理该设备的最佳框架。(记住它在2.3上仍然会落后,但是至少3.0+会很平滑)。
ps .:您不应使用a postDelayed来知道动画何时结束,而应使用Animation Listener
| 归档时间: |
|
| 查看次数: |
5872 次 |
| 最近记录: |