我想使用 Intent
实现从下到上的动画,在一个Activity
中显示另一个Activity
。
请给我提供以下示例:
Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
带有从底部到顶部的动画效果。
我想使用 Intent
实现从下到上的动画,在一个Activity
中显示另一个Activity
。
请给我提供以下示例:
Intent i2 = new Intent(main.this, test.class);
startActivity(i2);
带有从底部到顶部的动画效果。
在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动画的文章(链接在此),这可能会更有帮助。
我谷歌搜索了一下"向上滑动转换",最终来到了这里。但是马克的答案如果没有包含返回到同一个活动中的转换,则不完整。
重写(override)活动中的finish()方法。
@Override
public void finish() {
super.finish();
overridePendingTransition(R.anim.slide_from_top,R.anim.slide_in_top);
}
完成()
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"/>
首先:为您的Activity 1设计动画布局, 其次:在此动画结束时,启动第二个Activity,并为其内容布局添加动画效果。
使用TranslateAnimation(int fromX,int toX, int fromY , int toY)方法实现。