Android活动转换

时间:2016-10-10 04:16:22

标签: android animation

我目前正在使用这个:

overridePendingTransition(R.anim.right_slide_in, R.anim.right_slide_out);

R.anim.right_slide_in.xml正在使用:

<translate
    android:fromXDelta="100%p"
    android:toXDelta="0"
    android:duration="300"
    />

R.anim.right_slide_out.xml正在使用:

<translate
    android:fromXDelta="0"
    android:toXDelta="-100%"
    android:duration="300"
    />

这很好用。当我参加活动时,新的活动从右边出现,因为旧的活动消失在左边。

现在我要创建 reverse 。如果我回到某个活动,新的那个从左边出现,因为旧的一个消失在右边。

我正在使用:overridePendingTransition(R.anim.left_slide_in, R.anim.left_slide_out);

R.anim.left_slide_in使用:

<translate
    android:fromXDelta="-100%p"
    android:toXDelta="0"
    android:duration="300"
    />

R.anim.left_slide_out使用:

<translate
    android:fromXDelta="0"
    android:toXDelta="100%"
    android:duration="300"
    />

活动正确地向右消失(所以我认为 left_slide_out没问题?)但是新活动并没有正确地从左边进入。

我做错了什么?

2 个答案:

答案 0 :(得分:1)

答案 1 :(得分:0)

您可以使用以下四个选项来设置动画:

possible states of trasition

你可以在你的样式文件中设置这些,如下所示:

<resources>

<style name="XYZAppTheme" parent="XYZAppTheme.Base">
    <item name="android:windowExitTransition">@transition/custom_transition1</item>
    <item name="android:windowReenterTransition">@transition/custom_transition2</item>
    <item name="android:windowEnterTransition">@transition/custom_transition3</item>
    <item name="android:windowReturnTransition">@transition/custom_transition4</item>
</style>

假设您已在转换文件夹中定义了自定义转换。