【问题标题】:Briefly hiding ActionBar without resizing Activity在不调整 Activity 大小的情况下短暂隐藏 ActionBar
【发布时间】:2023-03-11 05:36:01
【问题描述】:

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

为了避免弄乱单个 MenuItems,我希望在新菜单加载时可以暂时隐藏 ActionBar,并在完成后显示它。这也可以按预期工作,但是在切换 ActionBar 时会调整 Activity 的大小。

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

【问题讨论】:

    标签: android android-actionbar


    【解决方案1】:

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

    您可以告诉 ActionBar 以叠加模式绘制自身,这意味着它将浮动在活动的顶部,而不是实际成为活动布局的一部分。在您的主题中使用android:windowActionBarOverlay,或代码中的Window.FEATURE_ACTION_BAR_OVERLAY 标志。

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

    <SomeView
        ...
        android:layout_marginTop="?android:attr/actionBarSize" />
    

    更多详情请见the documentation

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-05-11
      • 2023-02-05
      • 1970-01-01
      • 2015-08-11
      • 2010-09-13
      • 2020-06-26
      • 1970-01-01
      相关资源
      最近更新 更多