Android(安卓)ApiDemo学习(五)Animation—— 4 Default Layout Animation
16lz
2021-01-24
动画效果:点击add button按钮后,增加按钮1;再点击add button,增加的按钮2、3、4等都插在1后添加,之前的其他按钮顺延向后移动。点击增加的这些按钮,自己会消失,之后的按钮会自动排到前面来。
先看布局文件layout_animations_by_default.xml:
按钮button下有一个GridLayout。属性android:animateLayoutchanges = "true"。这个属性是从ViewGroup类继承过来的,和SetLayoutTransion相关。如果设置为true,表示layout发生改变时(添加或删除item)会引起setLayoutTransion的调用。
再看java代码LayoutAnimationsByDefault.java:
按钮“addButton”,点击事件的listener:gridLayout中增加一个button,增加的位置为0或者1(如果0位置已经有按钮)
其他按钮的点击事件listener:将自己从gridLayout中移除
可以看到,java代码中只是单纯实现按钮的增加和删除的功能,其他按钮的移动是如何实现的呢?就是xml文件中animateLayoutChanges属性的作用啦。如果这个属性为false,可以看到,添加一个新的按钮后,其他的按钮只是上面的文字改变了,并没有按钮平移的动画特效。
更多相关文章
- Android.bp入门指南之Android.mk转换成Android.bp
- Android常用控件以及用法
- Android开发--调试--模拟器--加快模拟器速度
- Android(安卓)动画
- Android中的定位Demo
- Android按钮文字变色(使用 ColorStateList)
- Android(安卓)UI设计的FrameLayout与TableLayout布局
- 浅谈Android下拉菜单Spinner
- Delphi XE5 for Android(安卓)(五)