动画效果:点击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,可以看到,添加一个新的按钮后,其他的按钮只是上面的文字改变了,并没有按钮平移的动画特效。

更多相关文章

  1. Android.bp入门指南之Android.mk转换成Android.bp
  2. Android常用控件以及用法
  3. Android开发--调试--模拟器--加快模拟器速度
  4. Android(安卓)动画
  5. Android中的定位Demo
  6. Android按钮文字变色(使用 ColorStateList)
  7. Android(安卓)UI设计的FrameLayout与TableLayout布局
  8. 浅谈Android下拉菜单Spinner
  9. Delphi XE5 for Android(安卓)(五)

随机推荐

  1. 【android】Sqlite中使用SQL与其他数据库
  2. ===Android开发中常用工具
  3. Android 代码混淆
  4. Android(安卓)系统(248)---解读Android进程
  5. Android之PULL、SAX、DOM解析XML
  6. Android AsyncChannel源码分析
  7. [置顶] Activity的四种启动模式和onNewIn
  8. 替换android的基础应用
  9. Android IO
  10. Android初级-Android 日志输出和Debug跟