Платформа ящика Android отображается в виде фрагмента

Я добавляю макет ящика в свой Actvity, который использует фрагменты. Я реализовал это так, как описано здесь для документации по Android. А адаптер адаптера выдвижного ящика и View View работают в том, что они отображаются, но ящик расширяет «под» содержимое фрагмента. Вот картина того, что происходит: Введите описание изображения здесь

Кто-нибудь знает, почему это может быть? Мой код для xml-файла активности и фрагмент добавления actiity ниже:

@Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_alarm_list); // for drawer navigation FragmentManager fragmentManager = getFragmentManager(); FragmentTransaction fragmentTransaction = fragmentManager .beginTransaction(); fragmentTransaction.replace(android.R.id.content, new AlarmListFragment()); fragmentTransaction.commit(); setUpDrawer(fragmentManager); } private void setUpDrawer(FragmentManager fm) { String[] drawerItems = getResources().getStringArray( R.array.drawer_array); DrawerLayout drawer = (DrawerLayout) findViewById(R.id.drawer_layout); ListView drawerList = (ListView) findViewById(R.id.left_drawer); // Set the adapter for the list view drawerList.setAdapter(new ArrayAdapter<String>(this, R.layout.item_nav_drawer, drawerItems)); // Set the list's click listener drawerList.setOnItemClickListener(new DrawerItemClickListener(drawer,drawerList,drawerItems,fm)); } 

Планировка:

 <?xml version="1.0" encoding="utf-8"?> <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" > <FrameLayout android:id="@+id/content_frame" android:layout_width="match_parent" android:layout_height="match_parent" > <ListView android:id="@+id/alarm_list" android:layout_width="match_parent" android:layout_height="wrap_content" > </ListView> </FrameLayout> <ListView android:id="@+id/left_drawer" android:layout_width="240dp" android:layout_height="match_parent" android:layout_gravity="start" android:background="#111" android:choiceMode="singleChoice" android:divider="@android:color/transparent" android:dividerHeight="0dp" /> </android.support.v4.widget.DrawerLayout> 

Должен ли я устанавливать z-index где-нибудь? Я могу предоставить любую дополнительную информацию, я бы просто хотел это выяснить!

Я не делаю этого, но для его решения вам нужно добавить фрагмент к содержимому вашего FrameLayout с id = content_frame .

Так отредактируйте эту строку

 fragmentTransaction.replace(android.R.id.content, new AlarmListFragment()); 

быть

  fragmentTransaction.replace(R.id.content_frame, new AlarmListFragment()); 

Вы можете перемещать макет ящика под контейнером Fragment в свой XML. Это сделает DrawerLayout в прямом представлении приложения. Просто не закрывайте контейнер фрагмента родительским контейнером ящика, чтобы ваш фрагмент был доступен, когда вам это нужно.

 <RelativeLayout android:id="@+id/my_parent_container" android:layout_height="match_parent" android:layout_width="match_parent" tools:context=".MainActivity" xmlns:tools="http://schemas.android.com/tools"> <FrameLayout android:id="@+id/fragment_wrapper" android:layout_width="match_parent" android:layout_height="wrap_content"></FrameLayout> <android.support.v4.widget.DrawerLayout android:id="@+id/my_drawer" android:layout_width="match_parent" android:layout_height="match_parent" xmlns="http://schemas.android.com/apk/res/android"> <RelativeLayout android:id=@+id/drawer_pane" android:layout_width="250dp" android:layout_height="match_parent" android:layout_gravity="end" /> <ListView xmlns="http://schemas.android.com/apk/res/android" android:layout_width="280dp" android:layout_height="match_parent" android:choiceMode="singleChoice" android:id="@+id/menu_list" </android.support.v4.widget.DrawerLayout> </RelativeLayout>