布局动画作用在ViewGroup上,用来给ViewGroup增加View的时候添加动画的过度效果。
最简单的使用,给ViewGroup加上
android:animateLayoutChanges="true"
当布局变化的时候回显示Android默认的过度效果,缺点:无法使用自定义的动画替换这个效果。
我们可以使用LayoutAnimationController自定义一个子View的过度效果。
private void layoutAnimationController() {
RelativeLayout rl = (RelativeLayout) findViewById(R.id.rl);
ScaleAnimation scaleAnimation = new ScaleAnimation(0,1,0,1);
scaleAnimation.setDuration(1000);
LayoutAnimationController animationController = new LayoutAnimationController(scaleAnimation,0.5f);
animationController.setOrder(LayoutAnimationController.ORDER_REVERSE);
rl.setLayoutAnimation(animationController);
}
LayoutAnimationController的第一个参数是要作用的动画,第二个参数是每个子View显示的delay时间,当delay不为0的时候,可以设置子View的显示顺序。
LayoutAnimationController.ORDER_NORMAL:顺序
LayoutAnimationController.ORDER_REVERSE:反序
LayoutAnimationController.ORDER_RANDOM:随机