Android动画之布局动画
布局动画是针对于ViewGroup使用的,我们直接上效果,通过效果分析进行实现。
首先我们分析一下效果图,总共可分为两种,
- 在我们的界面初始化显示时,会垂直显示一条垂直的按钮,他们会从右边按照顺序飞入。
- 当我们向这个垂直的按钮列表添加和移除按钮时,添加或删除的按钮有一个进入和飞出的动画,他所影响的其他按钮也会有一个过渡动画。
这两中效果分别使用了Android中的两个类,LayoutAnimationController
和LayoutTransition
。
如果对于动画不是很熟练的同学可以看我之前的博客Android动画之视图动画和属性动画
LayoutAniamtionContrller
该动画主要用于针对于一个ViewGroup
初始化时对于其下子控件的动画操作。针对于上面的效果,我们的实现方式如下:
首先,可以看到我们的控件是从右边进入,逐渐显现,所以定义如下动画
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:duration="500">
<translate
android:fromXDelta="100%"
android:fromYDelta="0"
android:toXDelta="0"
android:toYDelta="0"/>
<alpha android:fromAlpha="0"
android:toAlpha="1"/>
</set>
在代码中,加载动画,并通过LayoutAnimationController
设置到LinearLayout
上。
//通过加载XML动画设置文件来创建一个Animation对象;
Animation animation= AnimationUtils.loadAnimation(this, R.anim.listview_item_anim);
//得到一个LayoutAnimationController对象;
LayoutAnimationController controller = new LayoutA