android 窗口切换动画
时间: 2023-10-18 19:22:45 浏览: 54
Android提供了一些默认的窗口切换动画,可以在Activity之间切换时使用,也可以自定义窗口切换动画。以下是几种常用的窗口切换动画:
1. 淡入淡出动画:
在res/anim文件夹下创建两个xml文件:fade_in.xml和fade_out.xml
fade_in.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="0.0"
android:toAlpha="1.0" />
```
fade_out.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="300"
android:fromAlpha="1.0"
android:toAlpha="0.0" />
```
在Activity中使用:
```java
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
```
2. 滑动动画:
在res/anim文件夹下创建两个xml文件:slide_in_right.xml和slide_out_left.xml
slide_in_right.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="100%"
android:toXDelta="0%" />
</set>
```
slide_out_left.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate
android:duration="300"
android:fromXDelta="0%"
android:toXDelta="-100%" />
</set>
```
在Activity中使用:
```java
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.slide_in_right, R.anim.slide_out_left);
```
3. 缩放动画:
在res/anim文件夹下创建两个xml文件:zoom_in.xml和zoom_out.xml
zoom_in.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="300"
android:fromXScale="0.0"
android:fromYScale="0.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="1.0"
android:toYScale="1.0" />
</set>
```
zoom_out.xml:
```xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<scale
android:duration="300"
android:fromXScale="1.0"
android:fromYScale="1.0"
android:pivotX="50%"
android:pivotY="50%"
android:toXScale="0.0"
android:toYScale="0.0" />
</set>
```
在Activity中使用:
```java
Intent intent = new Intent(this, SecondActivity.class);
startActivity(intent);
overridePendingTransition(R.anim.zoom_in, R.anim.zoom_out);
```
以上是几种常用的窗口切换动画,可以根据需要选择适合的动画效果。