Android应用——用LayoutTransition在View动态显示和隐藏时候加上动画

本文介绍了Android中如何使用LayoutTransition为View动态显示和隐藏添加动画效果,包括四种容器转换动画类型:出现、消失、位置改变。通过设置Animator对象和常数,可以自定义或使用默认动画。提供了一个完整的代码示例,展示在LinearLayout中动态添加按钮并应用动画的过程。
摘要由CSDN通过智能技术生成

这里写图片描述

容器布局动画LayoutTransition的介绍

在Android应用开发的时候经常会用到View的setVisibility()方法来动态隐藏和显示view,但是这样子是没有过渡动画的,变化的时候会显得很生硬。
LayoutTransition是一个在4.0新引入的Api。
主要功能是在ViewGroup的layout发生变化的时候能够自动创建动画。具体使用的时候,首先创建一个LayoutTransition对象,并在容器布局调用setLayoutTransition(LayoutTransition)方法。这样,每当有子view从容器中出现或消失的时候,默认的animator就会被自动调用。当然,你也可以通过setAnimator()来设置自定义的动画。

ViewGroup  container = (ViewGroup) findViewById(R.id.container);
LayoutTransition transition = new LayoutTransition();
container.setLayoutTransition(transition);

如果你要使用默认的动画,一个非常简单的方式是在ViewGroup的XML布局文件中把android:animateLayoutchanges 属性设置为true。

在4.1 JellyBean上还有一个增强的功能,可以在容器内的子view的layout发生变化时也播放动画,用法如下。

LayoutTransition transition = container.getLayoutTransition();
transition.enableTransitionType(LayoutTransition.CHANGING);

四种容器转换动画类型

1.View本身的出现动画;

2.消失动画;

3.由于新增了其他View而需要改变位置的动画;

4.由于移除了其他View而需要改变位置的动画。

将动画设置到LayoutTransition 的方法

通过setAnimator() 方法把它们设置进一个 LayoutTransition 对象中去。
  设置的时候需要一个 Animator 对象和一个常数:
APPEARING—— A flag indicating the animation that runs on items that are appearing in the container.
CHANGE_APPEARING——A flag indicating the animation that runs on items that are changing due to a new item appearing in the container.
DISAPPEARING——A flag indicating the animation that runs on items that are disappearing from the container.
CHANGE_DISAP

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值