动画可以增强产品的用户体验,也可以带来很多乐趣。今天我将演示如何为view和Activity添加左右滑动的动画。注:不是属性动画,而是安卓早期引入的补间动画,对于此处的应用场景来说足够了。
首先来看看我们将要创建的动画效果。Activity根据导航的方向滑入滑出:

定义动画
我们总共需要四个动画,将在xml中定义它们。这四个动画其实可以分为两组。第一组是将View移动出视野,第二组是把View从视野之外移进来。
slide_to_left.xml:
从当前位置一直向左滑动,直到离开视野。

从当前位置一直向右滑动,直到离开视野。

view从左边滑入

view从右边滑入


应用到View上
对一个View应用动画很简单,我们只需把从xml加载的动画应用到View就可以了:




Activity之间
在Activity之间使用动画也很简单。Activity类为我们提供了一个叫做[overridePendingTransition](developer.android.com/reference/a…(int, int))的方法,我们可以用它来设置进入和退出动画。如下:

在调用startActivity之后调用overridePendingTransition可以让新的Activity运行enterAnimationId,而当前Activity运行exitAnimationId。
把我们早先定义好的动画放进来,我们就可以让新的Activity从右边滑进来,而当前的Activity滑离至左边视野之外,如下:


保持一致
我绝大多数应用都创建了一个BaseActivity类,把一些可以共享的常见的功能都放在里面,比如log和显示fragment。因为我想让所有的activity切换效果都保持一致,所以我觉得把它放在BaseActivity实在再合适不过了:

现在你如果想改变动画效果,只需在更新一个地方就行了。