将片段放在ActionBar上方

时间:2013-03-09 21:59:52

标签: android android-fragments android-actionbar

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

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

enter image description here

他们的应用程序也滑入并动画,这是我试图复制的确切功能。你能用Fragment做到这一点吗?或者这可能是新的Activity

3 个答案:

答案 0 :(得分:2)

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

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

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

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

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

答案 1 :(得分:1)

你可以按照你想要的方式(有或没有碎片)。正如在另一篇文章中所回答的那样,我们已经发布了一个库,它使滑动层适合你(只需将它作为普通容器放入xml中,然后放入你需要的任何东西)。

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

例如,我们制作了自己的ActionBar,这使得它更容易玩,并决定谁在顶部和底部,但据说它不应该是一个大问题,即使是原生的或Sherlock的。 / p>

你能发布一张你想要实现的图片吗?

答案 2 :(得分:-1)

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

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

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