【问题标题】:ActionBar or ActionBarSherlock - Smoothly Hide / Show the ActionBarActionBar 或 ActionBarSherlock - 平滑隐藏/显示 ActionBar
【发布时间】:2012-06-29 19:36:35
【问题描述】:

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

【问题讨论】:

    标签: java android android-actionbar actionbarsherlock


    【解决方案1】:

    我使用了一个叠加的 ActionBar

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

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

    【讨论】:

    • 什么是叠加层ActionBar?你能提供更多信息吗?
    • requestWindowFeature(com.actionbarsherlock.view.Window.FEATURE_ACTION_BAR_OVERLAY);,
    • 叠加ActionBar 是完全或部分透明的ActionBar。它与这个问题无关,但允许您的样式文件中的覆盖 ActionBar 将以下内容放入您的主题 truetrue
    • 您必须在 onCreate() 方法中的任何其他内容之前调用它。它就像一个魅力。
    猜你喜欢
    • 1970-01-01
    • 2013-05-27
    • 1970-01-01
    • 2019-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多