ActionBar或ActionBarSherlock - 平滑地隐藏/显示ActionBar

时间:2012-06-29 19:36:35

标签: java android android-actionbar actionbarsherlock

我正在使用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文件,但这不会给我完整的平台渗透。

1 个答案:

答案 0 :(得分:17)

我使用覆盖ActionBar

 requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERL‌​AY);

在调用show() / hide()时,它不显示动画。