Android:活动动画到顶部

时间:2014-03-11 04:44:13

标签: android xml android-animation

我编写了一个xml,可以很好地在点击时将活动从右向左移动。但现在我想要的是在代码中转换该xml,以便在点击时将活动从底部移动到顶部。

这是我从右到左的xml

right1.xml

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:fillAfter="true">

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

这是另一个xml right2.xml

<?xml version="1.0" encoding="utf-8"?>
<set
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:interpolator="@android:anim/linear_interpolator"
    android:fillAfter="true">

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

在这里,我使用此代码在活动之间切换

Intent intent = new Intent(Activity1.this, Activity2.class);

startActivity(intent);
                    Activity1.this.overridePendingTransition(R.anim.right1, R.anim.right2);

现在我希望它改为最低端移动,即从下到上移动活动。任何帮助将受到高度赞赏。提前谢谢。

3 个答案:

答案 0 :(得分:0)

如果您正在寻找Top-Bottom和Bottom-Up动画,请选中此项:

Android Animation Example

如果您想要左右和左右动画,可以更改fromDelta和toDelta的值。

希望这有帮助。

答案 1 :(得分:0)

push_up_in.xml

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

push_up_out.xml

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

更改活动:

Intent nextActivity = new Intent(getApplicationContext(),
                nextactivity.class);
startActivity(nextActivity);
overridePendingTransition( R.anim.slide_up_in, R.anim.slide_up_out );

答案 2 :(得分:0)

对于从下到上的动画,请使用:

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

您可以在mili秒内指定要实现的持续时间。