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

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

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();

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

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);

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

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

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