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

Jos*_*osh 19 java android actionbarsherlock android-actionbar

我正在使用ActionBarSherlock,并试图隐藏/显示全屏图像的ActionBar,使用:

getSupportActionBar.hide();
Run Code Online (Sandbox Code Playgroud)

getSupportActionBar.show();
Run Code Online (Sandbox Code Playgroud)

但它真的很神奇,很尴尬.有没有办法让它更流畅,或应用翻译/不透明动画?

在进一步检查ABS源并通过观察其行为时,似乎至少定义了最少量的动画.标准ActionBar也不能这样说.

为了完整起见,这是我从ImageView.click调用的相关代码:

if( shouldRender )
{
  . . .

  getSupportActionBar().hide();

  getWindow().addFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
else
{
  . . .

  getSupportActionBar().show();

  getWindow().clearFlags( WindowManager.LayoutParams.FLAG_FULLSCREEN );
}
Run Code Online (Sandbox Code Playgroud)

值得注意的是,标志设置/清除也会导致跳跃,但不太明显,所以我稍后会解决它,如果有的话.

编辑: (由ABS的创建者)似乎表明它在本机ActionBar上是不可能的.我想我可以编辑定义他的动画的两个XML文件,但这不会给我完整的平台渗透.

Han*_*oit 17

我使用覆盖ActionBar

 requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERL??AY);
Run Code Online (Sandbox Code Playgroud)

调用show()/ 时它不会显示动画hide().

  • 什么是重叠ActionBar?你能提供更多信息吗? (4认同)
  • 我赞成,但认为这个答案太过总结了. (3认同)
  • 有关该主题的官方文档:http://developer.android.com/reference/android/view/Window.html#FEATURE_ACTION_BAR_OVERLAY (2认同)