美文网首页
Android动画之布局变化

Android动画之布局变化

作者: keith666 | 来源:发表于2016-05-29 16:04 被阅读1034次

以下内容来自Android Training,本人在此基础上作一些个人实践和记录,以便参考

布局变更,顾名思义,在layout中有变化,比如添加或删除或更新View。
如下图,展示一个动态的布局变更:

layout_change_no by keith

Enable animations

很简单,一行代码就可以搞定,设置ViewGroup的animateLayoutChanges属性为true,例:

<LinearLayout android:id="@+id/container"
    android:animateLayoutChanges="true"
    ...
/>

设置之后正常布局变更将会有动画过渡,效果如下:

layout_change_yes by keith

自定义动画

当然,这个布局的变更也是允许自定义的,我们只是需要拿一个LayoutTransition对象个ViewGroup就可以了,然后把一个动画信息放到LayoutTransition里面,代码如下:

// custom a layout transition, do a rotation base Y-axis
LayoutTransition transition=new LayoutTransition();
Animator animator=ObjectAnimator.ofFloat(null,View.ROTATION_Y,0,180);

// 注意,在animator中设置duration无效,要在这里设置
transition.setDuration(LayoutTransition.APPEARING,1000);
transition.setAnimator(LayoutTransition.APPEARING,animator);

//将LayoutTransition对象传入,替换默认的LayoutTransition对象
mContainerView.setLayoutTransition(transition);

自定义的效果如下,带个旋转:

layout_change_cus by keith

Reference

  1. Animating Layout Changes

相关文章

网友评论

      本文标题:Android动画之布局变化

      本文链接:https://www.haomeiwen.com/subject/uhjqdttx.html