减缓Android活动之间的滑动动画速度?

6

我知道当你打开和关闭活动时,Android会自动使用滑动动画。然后它们从左到右滑动并填充屏幕(或者从右到左)。 问题是这个动画非常快...在模拟器上可以看到,但在手机上几乎不可察觉。我想知道是否有任何方法可以减缓此动画,以便确保可以看到视图正在滑动。


我想要补充一些内容。在活动之间的动画持续时间取决于创建导航到的活动所需的时间,这实际上是一个漂亮的加载屏幕。当然,改变加载时间是不可行的。 但是可以覆盖默认动画。在Xml中定义动画并执行Activity.overridePendingTransition(),这里有一个关于Xml动画的完整教程。 然而,我认为无法更改默认动画(据我所知)。而且,默认动画在所有设备上都不相同。 - T_D
2个回答

3

首先,在您的意图中使用Intent.FLAG_ACTIVITY_NO_ANIMATION标志来防止默认动画(从右侧滑入)。

例如,

Intent myIntent = new Intent(context, MyActivity.class);
myIntent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
context.startActivity(myIntent);

现在你可以加载自己定制的动画。请参考这个链接了解如何给你的活动添加进入和退出动画效果。

1
你可以在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>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接