将Fragment放置在ActionBar之上

4
我有一个父FragmentActivity,其中包含一个主视图,在该视图中我执行FragmentTransactions并定期切换视图。但是特定的一个视图(一个Fragment)是带动画的,并从屏幕右侧滑入。我希望该视图位于ActionBar之上(或在其顶部)。最好的例子来自WunderList应用程序。这是一张截图。他们的应用程序也可以滑动和动画,这正是我想要复制的功能。您能否使用Fragment实现这一点?还是这可能是一个新的Activity

1
也许你可以尝试使用自定义动画的DialogFragment:https://dev59.com/uGYr5IYBdhLWcg3wxM-8 - Michal Kubenka
3个回答

2

你不能将片段放在操作栏上方,但你可以尝试隐藏/显示操作栏。

在你的新片段(在方法 onCreate 中)调用:

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

然后,当您想要返回到以前的屏幕时,请显示ActionBar,并调用方法 onPause

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

1
您可以按您想要的方式进行操作(使用或不使用Fragments)。正如在其他帖子中所回答的那样,我们发布了一个库,使滑动层对您起作用(只需将其作为普通容器放入xml中,并放入您需要的任何内容)。
话虽如此,剩下的问题更多地与ActionBar位于顶部或底部层有关,这更多地与它在您的应用程序中占据的位置有关。最终,您将不得不在视图和ActionBar在其容器内的索引之间进行调整。
例如,我们制作了自己的ActionBar,这使得很容易玩耍并决定谁在顶部和底部,但正如所说,即使使用本机或Sherlock,这也不应该是太大的问题。
您能发布一张您想要实现的图片吗?

-1
我能够使用Fragments实现上述效果。使用:
fragmentTransaction.add(android.R.id.content, fragment_instance);

android.R.id.content 自 API Level 1 起始一直是一个 View 的根元素。


似乎在支持ActionBar的Android 4.0.3上无法正常工作。 - Glenn85
这个显示了片段,但它没有包含操作栏。 - Daniel Argüelles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接