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

这里写图片描述

容器布局动画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

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值