安卓统一添加activity切换动画
作者微博:攻城师sloop
背景说明
在实际 的应用开发过程中各种动画的使用不仅能使用户感觉起来更加流畅而且合适的动画效果可以帮助用户快速的熟悉应用操作,对提升用户体验来说,动画是必不可少的。
在安卓2.0之后,安卓提供了一个很方便的API用来设置安卓界面切换动画:overridePendingTransition(EnterAnim, ExitAnim);
发现问题
但是这里有一个缺点,就是每次打开activity之前都要重写这个动画效果,如果activity比较多岂不是要重复的写很多遍?对于追(lan)求(ai)简(wan)洁(qi)优(huan)美(zhe)的程序员怎么可以忍受。
既然出现问题就要解决,如何才能简洁优雅的为activity添加动画效果呢?
分析解决
作为一个有(fei)追(chang)求(lan)的程序员,自然想在界面切换的时候就能自动添加动画效果。
一般来说,如果想让某一类组件均具有相同的效果我们首先想到的就是重写这个组件的基类,然后让组件继承这个基类。这个是与Activity相关的内容,我们就自己实现一个Activity的基类,重写里面相关部分的函数。
结果演示
为了方便大家理解我们就做一个小例子。
先看一下效果(质量不太好 见谅):
1.准备动画文件
(开启新界面用到的两个动画文件)
create_zoomin.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.android.com/apk/res/android"
Android:interpolator="@android:anim/decelerate_interpolator">
<scale
Android:duration="@android:integer/config_mediumAnimTime
Android:fromXScale=".8"
Android:fromYScale=".8"
Android:pivotX="50%p"
Android:pivotY="50%p"
Android:toXScale="1.0"
Android:toYScale="1.0" />
</set>
create_zoomout.xml
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:Android="http://schemas.android.com/apk/res/android"
Android<