Android 是否有嵌套片段的替代方案?

Android 是否有嵌套片段的替代方案?,android,fragment,Android,Fragment,我已经读过关于应该避免嵌套碎片的文章(例如),但我不知道如何做到以下几点: 我正在使用以下UI开发选项卡应用程序(android:minSdkVersion=“12”): 搜索栏始终位于此处,用户可以在多个菜单选项(“主页”、“图库”…)中导航。我的想法是使用BaseActivity,其布局包含搜索栏和框架布局,我将在其中加载与用户导航选择相对应的片段 我的问题是,在“Home”片段中,我有几个选项卡,我希望以相同的方式实现它们,即使用一个包含选项卡栏的布局和一个我将加载相应片段的FrameL

我已经读过关于应该避免嵌套碎片的文章(例如),但我不知道如何做到以下几点:

我正在使用以下UI开发选项卡应用程序(
android:minSdkVersion=“12”
):

搜索栏始终位于此处,用户可以在多个菜单选项(“主页”、“图库”…)中导航。我的想法是使用BaseActivity,其布局包含搜索栏和框架布局,我将在其中加载与用户导航选择相对应的片段

我的问题是,在“Home”片段中,我有几个选项卡,我希望以相同的方式实现它们,即使用一个包含选项卡栏的布局和一个我将加载相应片段的FrameLayout,这将导致嵌套片段

我知道我可以使用多个活动来代替BaseActivity,并在每个布局中包含搜索栏,但每次用户更改活动时,搜索栏都会出现和消失

编辑

我还需要一个固定的页脚,所以我不能像Commonware在他的回答中建议的那样使用操作栏


有人可以帮忙吗?

您不能在BaseActivity布局中创建选项卡栏吗? 然后在BaseActivity中,布局将是搜索栏、选项卡栏和片段框架。
如果您不希望导航栏出现在某个片段中,可以设置可见性View.Goe至导航栏。

您可以使用ViewPager和。ViewPager允许用户在视图或(在您的情况下)片段之间滑动。要显示tablike控件,请使用

使用您描述的布局,而不是将
片段
加载到
框架布局
,使用如下布局将其充气:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

    <com.viewpagerindicator.TabPageIndicator
        android:id="@+id/viewpagerIndicator"
        android:layout_height="wrap_content"
        android:layout_width="match_parent" />
    <android.support.v4.view.ViewPager
        android:id="@+id/viewpager"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1" />

</LinearLayout>

. 它给出了一个更详细的例子。但是请注意,它扩展了
PagerAdapter
,而不是您应该使用的
FragmentPagerAdapter

我的想法是使用BaseActivity,其布局包含搜索栏和框架布局,我将在其中加载与用户导航选择相对应的片段


如果您使用单独的活动,而不是试图将所有内容强制到单个活动中,您将不会得到嵌套片段。

存在嵌套片段!!!!!!!在新的支持库版本(支持库v4,版本11)

好消息!!!!! android支持库版本11已经支持嵌套片段。

对v4支持库的更改:
用户界面
添加了对嵌套片段类的支持

如何实现嵌套片段,从

现在可以将片段嵌入片段中。这对于希望将动态和可重用的UI组件放置到本身是动态和可重用的UI组件中的各种情况都很有用。例如,如果使用ViewPager创建左右滑动并占用大部分屏幕空间的片段,现在可以将片段插入每个片段页面


这里有一些键:和

,但是有几个活动,我不能将搜索框作为固定标题,对吗?我需要将它包含到每个活动的布局中,并且每次我更改活动时都会重新加载它(即从UI的角度来看,它将消失并重新出现)。如果我为选项卡创建了几个活动,情况也是一样。@jul:“但是有几个活动,我不能将搜索框作为固定标题,对吗?”——将其放在每个活动的顶部。更好的是,把它放在动作栏里。“我需要将其包含到每个活动的布局中,并且每次我更改活动时都会重新加载它(即从UI的角度来看,它将消失并重新出现)”--是的。好的,我将检查是否可以根据我想要的搜索栏自定义操作栏。我也需要一个固定的页脚,所以如果我可以有两个动作栏,并且它们可以自定义,我会使用它。谢谢。@jul:你不能有两个动作条。好吧,看来我无法实现我想要的:固定页眉、固定页脚和在主菜单中的固定选项卡。