我正在使用ActionBarSherlock,尝试使用以下方法隐藏/显示全屏图像的ActionBar:
getSupportActionBar.hide();
和
getSupportActionBar.show();
但它真的很神奇,很尴尬。有没有办法让它更流畅,或者应用翻译/不透明度动画?
在进一步检查ABS源并通过观察其行为时,似乎至少定义了最少量的动画。标准ActionBar也不能这样说。
为了完整起见,这是我从ImageView.click调用的相关代码:
if( shouldRender )
{
. . .
getSupportActionBar().hide();
getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
else
{
. . .
getSupportActionBar().show();
getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
值得注意的是,标志设置/清除也会引起跳跃,但不太明显,所以我稍后会解决它,如果有的话。
编辑: This(由ABS的创建者)似乎表示在本机ActionBar上不可能。我想我可以编辑定义他的动画的两个XML文件,但这不会给我完整的平台渗透。
答案 0 :(得分:17)
我使用覆盖ActionBar
requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERLAY);
在调用show()
/ hide()
时,它不显示动画。