Android 动画之LayoutTransition

Android动画系列:

场景一,当向一个ViewGroup添加控件或者移除控件;场景2,想ListView、GridView或者RecyclerView中添加或者移除数据并更新显示;场景3,通过调用View.setVisibility()设置View的显示或者隐藏。这三种场景虽然能够实现效果,并没有一点过度效果,直来直去的添加或者移除,显得有点生硬。有没有办法添加一定的过度效果,让实现的效果显得圆滑呢?看很多开源框架都已经实现了这些场景的动画效果,动画效果到底是怎么实现的呢?那就不得不说LayoutTransition,接着往下看把。

LayoutTransition

LayoutTransition类实际上Android系统中的一个实用工具类。使用LayoutTransition类在一个ViewGroup中对布局更改进行动画处理。

以场景1为例,向一个ViewGroup添加控件或者移除控件,这两种效果的过段应对应于控件的显示、控件添加时其他控件的位置移动、控件的消失、控件移除时其他控件的位置移动等四种动画效果。这些动画效果在LayoutTransition中,由以下四个关键字做出了相关声明,

  • APPEARIN:元素在容器中显现时需要动画显示。
  • CHANGE_APPEARING:由于容器中要显现一个新的元素,其它元素的变化需要动画显示。
  • DISAPPEARING:元素在容器中消失时需要动画显示。
  • CHANGE_DISAPPEARING:由于容器中某个元素要消失,其它元素的变化需要动画显示。

也就是说,我们ViewGroup中有多个Button对象,如果需要删除其中一个Button对象的话,该Button对象可以设置动画(即DISAPPEARING 动画形式),ViewGroup中的其它Button对象此时移动到新的位置的过程中也可以设置相关的动画(即CHANGE_DISAPPEARING 动画形式);若向ViewGroup中添加一个Button,Button对象可以设置动画(即APPEARIN 动画形式),ViewGroup中的其它Button对象此时移动到新的位置的过程中也可以设置相关的动画(即CHANGE_APPEARING 动画形式)。

既然了解到了LayoutTransition的与ViewGroup联动四种动画形式,该如何使用LayoutTransition,老惯例,先了解下其常用的API。

常用API

关键字常量

  • APPEARIN:元素在容器中显现时需要动画显示。
  • CHANGE_APPEARING:由于容器中要显现一个新的元素,其它元素的变化需要动画显示。
  • DISAPPEARING:元素在容器中消失时需要动画显示。
  • CHANGE_DISAPPEARING:由于容器中某个元素要消失,其它元素的变化需要动画显示。
  • CHANGING:当元素本身某个属性发生变化,但元素并没有添加和移除时需要动画的显示

常用方法

  • addChild(ViewGroup parent, View child):将child添加至parent</

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值