从下到上显示活动

时间:2011-05-19 08:42:59

标签: android animation android-activity android-intent

我希望使用activity从下到上的动画中向{。}}显示一个Intent

给我一​​些例子,如下面

Intent i2 = new Intent(main.this, test.class);
startActivity(i2);

动画从下到上。

3 个答案:

答案 0 :(得分:129)

在res / anim / slide_in_up.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"/>

和res / anim / slide_out_up.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"/>

然后应用这些来调用startActivity:

Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );

介绍Android动画here,可能会对您有所帮助。

答案 1 :(得分:2)

当我在Google上滑动过渡并落在此处时,但Mark答案是不完整的,如果不涉及过渡到相同的活动。

在活动中超越成绩

@Override
public void finish() {
    super.finish();
    overridePendingTransition(R.anim.slide_from_top,R.anim.slide_in_top);
}

finish()

 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) {
                finishAfterTransition();
            }else finish();

slide_from_top.xml

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

slide_in_top.xml

<translate xmlns:android="http://schemas.android.com/apk/res/android"
android:fromYDelta="0%p" android:toYDelta="100%p"
android:duration="@android:integer/config_shortAnimTime"/>

答案 2 :(得分:1)

首先:为您的活动布局设置动画1 ,, 第二:在此aniamtion结束时,启动第二个活动,并为其内容布局设置动画

使用TranslateAnimation(int fromX,int toX,int fromY,int toY);