как использовать несколько фрагментов в основном представлении содержимого навигационного ящика

Я хочу показать два фрагмента (один фрагмент списка, а другой - фрагмент сведений) в основном представлении содержимого навигационного ящика, как показано ниже:

введите здесь описание изображения

Но, насколько мне известно, в основном представлении содержимого drawerLayout может быть только одно представление. Так как же этого добиться?


person Kaidul    schedule 13.07.2013    source источник


Ответы (1)


Все, что вы поместите внутрь FrameLayout, будет отображаться в основном представлении содержимого.

Вы можете поместить все, что хотите (включая несколько фрагментов) внутри этого FrameLayout:

<android.support.v4.widget.DrawerLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/drawer_layout"
    android:layout_width="match_parent"
    android:layout_height="match_parent">
    <!-- The main content view -->
    <FrameLayout
        android:id="@+id/content_frame"
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <!-- YOUR CONTENT HERE -->
        <!-- Could be layout with multiple views or fragments -->            

    </FrameLayout


    <!-- The navigation drawer -->
    <ListView android:id="@+id/left_drawer"
        android:layout_width="240dp"
        android:layout_height="match_parent"
        android:layout_gravity="start"
        android:choiceMode="singleChoice"
        android:divider="@android:color/transparent"
        android:dividerHeight="0dp"
        android:background="#111"/>
</android.support.v4.widget.DrawerLayout>
person Booger    schedule 13.07.2013
comment
Спасибо за Ваш ответ. На самом деле мне нужно поместить три listFragment в основной контент. Так должен ли я для этой цели поместить три FrameLayout внутри основного FrameLayout? - person Kaidul; 13.07.2013
comment
Нет, только ваши 3 listFragments сами по себе. Я думаю, у вас могут быть другие проблемы (в основном связанные с прокруткой) с 3 списками внутри одного родителя. Кроме того, вы можете захотеть поместить все 3 фрагмента в один родитель (например, LinearLayout), чтобы обеспечить больший контроль. В итоге поместите все, что хотите, в текущий FrameLayout. - person Booger; 13.07.2013
comment
Да, мне нужно, чтобы список прокручивался внутри родителя. ТАК достаточно ли поместить три фрагмента списка внутри frameLayout? или почему мне нужен дополнительный LinearLayout, чтобы обернуть их? - person Kaidul; 14.07.2013