布局:
菜单界面最外层是RelativeLayout(背景半透明),里面分2部分,一是ImageView小孩,在最下部,二是一个RelativeLayout, 防止展开的图标,依次距离底部固定距离,每个图标间距50dp,RelativeLayout初始化为隐藏。使用时include进去即可。
只介绍展开动画(收回可类推),有2种做法:
1)网上比较多的,给每个小图标加上动画,设置隐藏显示。
for循环遍历,小图标从底部依次移动到初始位置,并且由Gone变为Visible,并加一个回弹效果,值为1.5。但注意:for循环本身效率较低,需避免在循环里面创建复用的Animation对象,否则动画不流畅。
2)控制小图标的父布局RelativeLayout显示和隐藏。
只作用于小图标的外层布局,一个向上伸缩动画,以x轴的1倍,y轴的1倍为中心,x轴为从伸缩1到1,y轴伸缩从0到1,这样就可以达到向上拉伸的效果。注意:动画代码执行完后需遍历每个小图标,设为不可聚焦,不可点击。优化好处:动画更流畅,耗时短。
代码比较简单,就不传了。有问题或异议可大肆评论。