2013-10-02 3 views
2

Может ли Android-навигатор содержать фрагмент вместо listView? Я хотел бы показать вспомогательную активность внутри navigationDrawer? Андроид демо:Android Navigation Содержимое ящика

Creating a Navigation Drawer

показывает только ListView и я только когда-либо использовал его с ListView.

+1

Вы можете иметь любое ViewGroup/View как полка включая FrameLayouts –

ответ

2

Вы можете добавить фрагмент через XML в usual way.

Таким образом, глядя на связанном, например, вы бы поменять:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    ... > 
    <!-- The main content view --> 
    <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> 

Для:

<android.support.v4.widget.DrawerLayout 
    xmlns:android="http://schemas.android.com/apk/res/android" 
    ... > 
    <!-- The main content view --> 
    <FrameLayout 
     ... /> 
    <!-- The navigation drawer --> 
    <fragment android:name="com.example.MyNavigationDrawerFragment" 
     android:id="@+id/left_drawer" 
     android:layout_width="240dp" 
     android:layout_height="match_parent" 
     ... /> 
</android.support.v4.widget.DrawerLayout> 
+0

Я подозревал, так что я просто хотел убедиться, что если фреймворк разрешил это, спасибо – j2emanue

+1

убедитесь, что вы установили 'android: clickable =" true "' на ваш фрагмент, иначе события click будут переданы вашему основному фрагменту. –

Смежные вопросы