用属性动画简简单单实现android导航栏特效

来源:互联网 发布:软件开发工程师怎么样 编辑:程序博客网 时间:2024/05/18 00:24

过年时候,优酷的导航栏切换出现一个效果:点击选中的导航栏按钮出现图片上移的效果。感觉新鲜有意思,所以自己写了一个小demo。直接上效果图。
这里写图片描述
下面是代码部分,很简单只用属性动画就可以实现:
当控件被选中时,实现下列动画(放大,向上平移):

final ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, View.SCALE_X, 1f, 1.1f);final ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, View.SCALE_Y, 1f, 1.1f);final ObjectAnimator translationY = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y, 0, -15);AnimatorSet set = new AnimatorSet();set.playTogether(scaleX, scaleY, translationY);set.setDuration(200);set.start();

同理,失去选中状态的控件执行相反动画(缩小,向下平移):

final ObjectAnimator scaleX = ObjectAnimator.ofFloat(view, View.SCALE_X, 1.1f, 1f);final ObjectAnimator scaleY = ObjectAnimator.ofFloat(view, View.SCALE_Y, 1.1f, 1f);final ObjectAnimator translationY = ObjectAnimator.ofFloat(view, View.TRANSLATION_Y, -15, 0);

这里布局需要特别注意:
执行动画的控件如果在导航栏布局内部,执行平移动画,平移出去的部分会被导航栏覆盖。

有什么意见或建议请加我微信号,告诉我吧! tm1989tm

demo下载:
android导航按钮点击切换动画 demo下载

1 0
原创粉丝点击