Android的动画效果分为两种,一种是tweened animation(补间动画),第二种是frame by frame animation。一般我们用的是第一种。补间动画又分为AlphaAnimation,透明度转换 RotateAnimation,旋转转换 ScaleAnimation,缩放转换 TranslateAnimation 位置转换(移动)。那么如何实现所有的activity之间都是用动画呢,而不是一个一个的写.....
1、首先在res目录下新建anim目录,并且创建anim_enter.xml文件代码如下:
<?xml version="1.0" encoding="utf-8"?><set android:interpolator="@android:anim/decelerate_interpolator"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:duration="@android:integer/config_mediumAnimTime"
android:pivotX="69.99999%" android:pivotY="100.0%" android:fromXScale="0.0"
android:toXScale="1.0" android:fromYScale="0.0" android:toYScale="1.0" />
<alpha android:duration="@android:integer/config_mediumAnimTime"
android:fromAlpha="0.0" android:toAlpha="1.0" />
</set>
2、anim_exit.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<set android:interpolator="@android:anim/accelerate_interpolator"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:duration="@android:integer/config_mediumAnimTime"
android:pivotX="69.99999%" android:pivotY="100.0%" android:fromXScale="1.0"
android:toXScale="0.0" android:fromYScale="1.0" android:toYScale="0.0" />
<alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="1.0" android:toAlpha="0.0" />
</set>
3、back_enter.xml
<?xml version="1.0" encoding="UTF-8"?>
<set android:interpolator="@android:anim/decelerate_interpolator"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="50.0%" android:pivotY="50.0%" android:fromXScale="1.5" android:toXScale="1.0" android:fromYScale="1.5" android:toYScale="1.0" />
<alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="0.4" android:toAlpha="1.0" />
</set>
4、back_exit.xml
<?xml version="1.0" encoding="UTF-8"?>
<set android:interpolator="@android:anim/decelerate_interpolator"
xmlns:android="http://schemas.android.com/apk/res/android">
<scale android:duration="@android:integer/config_mediumAnimTime" android:pivotX="50.0%" android:pivotY="50.0%" android:fromXScale="1.0" android:toXScale="0.4" android:fromYScale="1.0" android:toYScale="0.4" />
<alpha android:duration="@android:integer/config_mediumAnimTime" android:fromAlpha="1.0" android:toAlpha="0.0" />
</set>
5、接下来在文件夹res下的values中的strings.xml文件中声明动画样式
<style mce_bogus="1" name="AnimationActivity" parent="@android:style/Animation.Activity">
<item name="android:activityOpenEnterAnimation">@anim/anim_enter</item>
<item name="android:activityOpenExitAnimation">@anim/anim_exit</item>
<item name="android:activityCloseEnterAnimation">@anim/back_enter</item>
<item name="android:activityCloseExitAnimation">@anim/back_exit</item>
</style>
6、在AndroidManifest.xml文件声明样式
<application
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/ThemeActivity">
</application>
具体的效果可以看看下面的象棋app格式的中各个activity之间的跳转。先上图
中国象棋所有activity界面动画切换
猜你喜欢
转载自shuyang523.iteye.com/blog/1688739
今日推荐
周排行