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

在Android应用开发的时候经常会用到ViewsetVisibility()方法来动态隐藏和显示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);

此外还有一个更简单地使用方法,在xml文件中我们在容器的中下面一句代码:

android:animateLayoutChanges="true"

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

LayoutTransition transition = container.getLayoutTransition();
transition.enableTransitionType(LayoutTransition.CHANGING);
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,237评论 25 708
  • 1 背景 不能只分析源码呀,分析的同时也要整理归纳基础知识,刚好有人微博私信让全面说说Android的动画,所以今...
    未聞椛洺阅读 2,746评论 0 10
  • 小时候,穿着母亲的高跟鞋,兴奋地在屋里走来走去,那哒哒哒的声音,似乎就是成长拔节的声音。 每次生日的结束都是另一次...
    韧初阅读 476评论 0 1
  • 和你在一起后,我改变了很多。凭事实说话,我是个情绪比较多变的人,感情细腻,情绪易受外界影响,起伏较大。你是了解我的...
    守夜人MISS阅读 590评论 0 0
  • 今天和陌上花开聚会,时间虽然很短,但是帮助很大! 其中一个体会就是我们在付费学习,到底是为什么? 我得到的结论是我...
    蓝心百合阅读 706评论 1 1