标签:
卫星菜单是现在一个非常受欢迎的“控件”,很多Android程序员都趋之若鹜,预览如下图。传统的卫星菜单是用Animation实现的,需要大量的代码,而且算法极多,一不小心就要通宵Debug。本帖贴出用属性动画Animator来实现卫星菜单。
一、浅析属性动画Animator
Animator是Android3.0发布的新功能,代码简单,效果丰富。属性动画,顾名思义,只要是可以GET和SET的属性,我们都可以用属性动画进行处理。属性动画中常用的属性和方法如下:
ValueAnimator //数值发生器,可以实现很多很灵活的动画效果 ObjectAnimator //ValueAnimator的子类,对ValueAnimator进行了封装,让我们可以更轻松的使用属性动画,我们通过ObjectAnimator来操纵一个对象,产生动画效果 AnimatorListener //对动画的开始、结束、暂停、重复等动作的事件监听(需要重写四个方法) AnimatorListenerAdapter //对动画的开始、结束、暂停、重复中的一个动作的事件监听(根据选择的动作,只需要重写一个方法) AnimatorSet //动画的集合,用来设置多个动画之间的关系(之前、之后、同时等) PropertyValuesHolder //动画的集合,和AnimatorSet类似 TypeEvaluators //值计算器,在使用ValueAnimator.ofObject()方法时引入自定义的属性对象 Interpolators //插值器,设置动画的特效(速度渐变、弹跳等)
卫星菜单的开发主要用到了ObjectAnimator。ObjectAnimator中常用的属性如下:
translationX / translationY 水平/垂直平移 rotaionX / rotationY 横向/纵向旋转 scaleX / scaleY 水平/垂直缩放 X / Y 直接到达X/Y坐标 alpha 透明度
二、实现卫星菜单
未完待续。。。。。。
标签:
原文地址:http://www.cnblogs.com/blog-wzy/p/5324316.html