Android实现绚丽的旋转菜单

Home / Android MrLee 2015-4-24 3243

ani


看完效果那么下面开始吧~
首先,将整个菜单动画分解开来。
1. 一级菜单按钮的旋转动画2个,十字和叉叉状态的转换。
2. 二级菜单按钮的平移动画2个,弹簧效果的in和out。
3. 二级菜单按钮的点击效果,放大消失,其他未点击按钮缩小消失。
4. 一级菜单按钮的恢复效果,放大出现。
rotate_story_add_button_out.xml

 

这2段没什么好说的,定义好角度即可。
接下来是需要我们在代码中定义的动画部分,这几个动画的部分需要定义一个基类,作为统一的调用接口,这个基类被称作InOutAnimation,继承自AnimationSet,这个基类的主要工作是为view提供in和out两种不同的状态时的动画效果。其子类需要实现2个方法:
好的 逐一去实现:
下面是InOutAnimation的代码部分:
public abstract class InOutAnimation extends AnimationSet {
  
          public Direction        direction;
  
          public enum Direction {
                    IN, OUT;
          }
  
          public InOutAnimation(Direction direction, long l, View[] aview) {
                    super(true);
                    this.direction = direction;
                    switch (this.direction) {
                    case IN:
                             addInAnimation(aview);
                             break;
                    case OUT:
                             addOutAnimation(aview);
  
                             break;
                    }
                    setDuration(l);
          }
  
          protected abstract void addInAnimation(View aview[]);
  
          protected abstract void addOutAnimation(View aview[]);
  
 }
直接贴工程:pure

本文链接:https://it72.com/2331.htm

推荐阅读
最新回复 (0)
返回