【问题标题】:Slow down sliding animation between android activities?减慢android活动之间的滑动动画?
【发布时间】:2010-11-01 17:53:11
【问题描述】:
我知道如果你打开和关闭活动,android 会自动使用滑动动画。然后它们从左向右滑动并填满屏幕(或从右向左)。
问题是动画非常快......它在模拟器上可见,但在手机本身上几乎看不到。我想知道是否有任何方法可以减慢这个动画的速度,所以肯定会看到视图在滑动。
【问题讨论】:
-
我想补充一点。 Activity 之间的动画会持续创建您要导航到的 Activity 所需的时间,它实际上是一个漂亮的加载屏幕。当然,改变加载时间并不是一件好事。不过,可以覆盖默认动画。在 Xml 中定义一个动画并执行 Activity.overridePendingTransition(),这里是 Xml-animations 上的 complete tutorial。但是我认为不可能改变默认动画(据我所知)。而且,并非所有设备上的默认设置都相同。
标签:
android
animation
android-activity
【解决方案1】:
首先在您的意图中使用Intent.FLAG_ACTIVITY_NO_ANIMATION 标志阻止默认动画(从右侧滑入)。
即,
Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);
现在您可以加载自己的自定义动画。请参阅此link 了解如何为您的活动的进出设置动画。
【解决方案2】:
您可以在 res/anim 中的动画 .xml 中指定动画的持续时间,例如向左滑出:
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="500"
android:fromXDelta="0%"
android:fromYDelta="0%"
android:toXDelta="-100%"
android:toYDelta="0%" />
</set>