android活动垂直过渡动画

时间:2016-05-10 06:43:43

标签: android android-activity android-animation transition

我不知道这里有什么问题。尝试在两个活动之间制作垂直动画。活动1应从可见到底部滑动。活动2应从上到下滑动(变得可见)。

这就是我想要的 enter image description here

我的代码

overridePendingTransition(R.anim.top_to_visible, R.anim.visible_to_bottom);

top_to_visible.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="100%p" android:toYDelta="0%p"
android:duration="300"/>

visible_to_bottom.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromYDelta="0%p" android:toYDelta="-100%p"
android:duration="300"/>

这里有什么问题?

3 个答案:

答案 0 :(得分:3)

您是否可能认为y轴原点位于底部?因为当我只修改from / to值时,我会得到你想要的。 y的0%位于顶部。 0/0点位于左上角。因此,基于此需要“从底部”移动0到100%,“从顶部到可见”为-100%到0%

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromYDelta="-100%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toYDelta="0%p" />
</set>

和visible_to_bottom

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate xmlns:android="http://schemas.android.com/apk/res/android"
        android:duration="300"
        android:fromYDelta="0%p"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:toYDelta="100%p" />
</set>

答案 1 :(得分:0)

尝试使用visible_to_bottom.xml动画..

android:fromYDelta =“0%p”android:toYDelta =“100%p”

删除负号“-100%p” - &gt; “100%P”

答案 2 :(得分:0)

您需要使用anim。首先创建两个xml文件并将它们放在res/anim

top_to_visible.xml

<?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="-100%p"
    android:toYDelta="0" />

visible_to_bottom.xml

 <?xml version="1.0" encoding="utf-8"?>
<translate xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="@android:integer/config_longAnimTime"
    android:fromYDelta="0%p"
    android:toYDelta="100%p" />