Activity进入与退出的动画
时间: 2024-02-18 18:01:39 浏览: 64
Activity进入和退出时的动画效果可以通过在res目录下的anim文件夹中定义xml文件来实现。其中,进入动画文件一般以slide_in_开头,退出动画文件一般以slide_out_开头。下面分别介绍一下两种动画的实现方式。
进入动画:
1. slide_in_left.xml:从左侧滑入
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="-100%p"
android:toXDelta="0"
android:duration="300" />
</set>
```
2. slide_in_right.xml:从右侧滑入
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="100%p"
android:toXDelta="0"
android:duration="300" />
</set>
```
3. slide_in_top.xml:从顶部滑入
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="-100%p"
android:toYDelta="0"
android:duration="300" />
</set>
```
4. slide_in_bottom.xml:从底部滑入
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="100%p"
android:toYDelta="0"
android:duration="300" />
</set>
```
退出动画:
1. slide_out_left.xml:从左侧滑出
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="-100%p"
android:duration="300" />
</set>
```
2. slide_out_right.xml:从右侧滑出
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromXDelta="0"
android:toXDelta="100%p"
android:duration="300" />
</set>
```
3. slide_out_top.xml:从顶部滑出
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="-100%p"
android:duration="300" />
</set>
```
4. slide_out_bottom.xml:从底部滑出
```
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:fromYDelta="0"
android:toYDelta="100%p"
android:duration="300" />
</set>
```
使用时,在Activity中的onCreate()方法中调用setContentView()方法之前,调用overridePendingTransition()方法,传入进入动画和退出动画的资源id即可。例如,在进入Activity时使用从右侧滑入的动画,退出时使用从左侧滑出的动画,代码如下:
```
startActivity(intent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
```
阅读全文