Android-如何实现ActionBar显示与隐藏的动画效果
类似视频播放界面上点击一次显示出ActionBar,然后再次点击时隐藏ActionBar。并且显示和隐藏都有动画效果。比如,显示动画:从上到下移到界面中 隐藏动画:从下到上移出界面外。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
类似视频播放界面上点击一次显示出ActionBar,然后再次点击时隐藏ActionBar。并且显示和隐藏都有动画效果。比如,显示动画:从上到下移到界面中 隐藏动画:从下到上移出界面外。
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
接受
或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
发布评论
评论(3)
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="17" />
Action action = getActionBar();
if(isHide)
action.show();
else
action.hide();
我试验过了,ActionBar调用show()和hide()就有楼主所说的效果~~
ActionBar不支持显示和隐藏的自定义动画!ActionBar的动画为硬编码。
变通方案可以使用反射,那么你就得看看各个版本的源码了(3.0+)。 ActionBar的View container 应该叫 mTopVisibilityView。
设置顶部的ActionBar,在setVisibility(View.VISIBLE)和setVisibility(View.GONE)时给你的ActionBar的view设置个动画,用
view.startAnimation(AnimationUtils.loadAnimation(MainActivity.this, R.anim.top_down));
,VISIBLE时用top_down,GONE是用top_up,
top_down.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="400"
android:fromYDelta="-100%"
android:toYDelta="0%" />
</set>
top_up.xml:
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:shareInterpolator="false" >
<translate
android:duration="400"
android:fromYDelta="0%"
android:toYDelta="-100%" />
</set>