android 按钮绚丽样式,Android实现绚丽的旋转菜单

本文主要介绍了Android菜单按钮的动画效果实现。将菜单动画分解为一级菜单按钮旋转、二级菜单按钮平移、点击及恢复效果。还提到需在代码中定义动画部分,创建基类InOutAnimation作为统一调用接口,并给出了该基类的代码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

27238ef7d7ff437ac4b0de0510b84cb4.gif

看完效果那么下面开始吧~

首先,将整个菜单动画分解开来。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值