Android之卫星菜单的实现

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android之卫星菜单的实现相关的知识,希望对你有一定的参考价值。

  卫星菜单是现在一个非常受欢迎的“控件”,很多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                                   透明度

 

二、实现卫星菜单

 

未完待续。。。。。。

 

以上是关于Android之卫星菜单的实现的主要内容,如果未能解决你的问题,请参考以下文章

浅谈属性动画简单使用之实现卫星菜单

Android进阶之Property Animator研究

Android进阶之Property Animator研究

android中的动画之变换动画(Tween Animation)

android中的动画之属性动画

Android 动画之TranslateAnimation应用详解