View间渐变
渐变动画(也叫消失)通常指渐渐的淡出某个UI组件,同时同步地淡入另一个。当App想切换内容或View的情况下,这种动画很有用。渐变简短不易察觉,同时又提供从一个界面到下一个之间流畅的转换。如果在需要转换的时候没有使用任何动画效果,这会使得转换看上去感到生硬而仓促。
下面是一个利用进度指示渐变到一些文本内容的例子。
如果你想跳过这部分介绍直接查看样例,下载并运行样例App然后选择渐变例子。查看下列文件中的代码实现:
layout/activity_crossfade.xml
menu/activity_crossfade.xml
创建两个我们想相互渐变的View。下面的例子创建了一个进度提示圈和可滑动文本View。
为我们想渐变的View 创建成员变量。在之后动画应用途中修改View的时候我们会需要这些引用。
将系统属性暂存到一个成员变量里。这个属性为动画定义了一个标准的“短”持续时间。对于细微或者快速发生的动画,这是个很理想的持续时段。也可以根据实际需求使用
config_longAnimTime
或。
下面的例子使用了前文提到的布局文件:
对于正在淡入的View,设置它的alpha值为0并且设置visibility为
VISIBLE
(记住他起初被设置成了 )。这样View就变成可见的了,但是此时它是透明的。对于正在淡入的View,把alpha值从0动态改变到1。同时,对于淡出的View,把alpha值从1动态变到0。
详见下面的例子: