【问题标题】:Placing Fragment Above ActionBar将片段放在 ActionBar 上方
【发布时间】:2013-02-25 07:39:52
【问题描述】:

我有一个父 FragmentActivity 有一个主视图,我在其中做 FragmentTransactions 并定期切换视图。但是一个特定的视图(Fragment)是动画的,并从屏幕右侧滑入。我希望视图位于 ActionBar 上方(或顶部)。

最好的例子来自应用程序 WunderList。这是截图。

他们的应用程序还可以滑入并制作动画,这正是我想要复制的功能。你可以用Fragment 做到这一点吗?或者这可能是一个新的Activity

【问题讨论】:

标签: android android-fragments android-actionbar


【解决方案1】:

您不能将片段放在 ActionBar 上,但您可以使用 hide/show ActionBar。

在您的新 Fragment 上(在方法 onCrate 上)调用:

your_activity.getSupportActionBar().setShowHideAnimationEnabled(false);
your_activity.getSupportActionBar().hide();

然后,当您想回到上一个屏幕时,显示 ActionBar,调用方法 onPause

your_activity.getSupportActionBar().setShowHideAnimationEnabled(false);
your_activity.getSupportActionBar().show();

【讨论】:

    【解决方案2】:

    您可以按照自己的方式进行操作(使用或不使用 Fragment)。正如在另一篇文章中所回答的那样,我们已经发布了一个库,可以让滑动层为您工作(只需将其作为普通容器放入您的 xml 中,然后将您需要的任何内容放入其中)。

    也就是说,剩下的问题更多地与 ActionBar 位于顶层或底层有关,并且与它在您的应用中占据的位置有关。最后,您将不得不在其容器中使用视图的索引和 ActionBar。

    例如,我们制作了自己的 ActionBar,它可以更轻松地进行游戏并决定谁在顶部和底部,但正如所说的,即使是原生的或 Sherlock 也不应该是太大的问题。

    你能张贴一张你想要达到的目标吗?

    【讨论】:

      【解决方案3】:

      我能够使用 Fragments 实现上述效果。使用:

      fragmentTransaction.add(android.R.id.content, fragment_instance);
      

      其中 android.R.id.content 自 api 级别 1 以来始终是 View 的根元素。

      【讨论】:

      • 似乎不适用于带有 supportActionBar 的 Android 4.0.3
      • 这显示了片段,但它没有覆盖操作栏
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-05-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多