Android自定义组件之旋转菜单
菜单实现步骤
- 在xml布局中摆放好各个view部件
根据相对布局来完成下图所示的布局,使得底部完成旋转时所形成的菜单完成旋转的功能。(可以根据界面大小,自己来设定布局的大小也可以读取界面大小,根据比例来设置界面底部所处的位置)。
- 给指定的控件添加点击事件
旋转菜单的实现就是完成相应的点击时,形成旋转的效果,在此就仅仅实现主菜单的旋转功能(其他菜单实现可以自己添加界面view与事件)
设置点击事件onClick()来完成二级菜单和三级菜单的实现
bug修复:为实现真实效果,三级菜单应早于二级菜单的实现,当二级菜单未显示出来时,应禁用三级菜单的点击事件。
- 实现旋转动画(补间动画)
添加一个AnimationUtils类,完成动画效果,分别实现转出去,转进来的动画效果。为了显示出动画效果,添加延时setDuration(500)
- 菜单按键的截取与实现
寻找keyCode事件码(KeyEvent.KEYCODE_MENU或是82),完成menu菜单的事件。并完成点击菜单键,完成三级菜单一次退出或者显示,设置启动时间差即可。
代码实现
http://https://github.com/Threepages/SpidMenu
谢谢观看。