简单地隐藏ActionBar而不调整Activity的大小

Qui*_*ers 8 android android-actionbar

我正在使用ViewPager在不同的片段之间滚动.使用两种不同的菜单资源有两种类型的片段.我正在使菜单无效,以便在必要时在这些资源之间切换.这一切都很好,但菜单是"重绘"没有动画.

为了防止不得不混淆单个MenuItems,我希望我可以在加载新菜单时暂时隐藏ActionBar,并在完成后显示它.这也正如预期的那样工作,但是当ActionBar切换时,活动会调整大小.

有没有办法防止这种情况发生,或者隐藏菜单资源之间的丑陋过渡?

MH.*_*MH. 17

我没有完全发现问题的菜单部分,但有一个简单的解决方案可以防止您的活动在ActionBar出现或消失时调整大小.

您可以告诉ActionBar以叠加模式绘制自己,这意味着它将浮动在活动之上,而不是实际上是活动布局的一部分.无论是使用android:windowActionBarOverlay在你的主题,或Window.FEATURE_ACTION_BAR_OVERLAY从代码标志.

您可能希望将此功能与actionBarSize常量结合使用,该常量指定布局中第一个视图的正确偏移量.这样,您的内容仍会显示在ActionBar下方,但由于ActionBar本身是一个叠加层,因此在隐藏/显示它时,活动不会调整大小.

<SomeView
    ...
    android:layout_marginTop="?android:attr/actionBarSize" />
Run Code Online (Sandbox Code Playgroud)

更多细节可以在文档中找到.