Вот пример:
<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:layout_width="match_parent"
android:layout_height="match_parent"
<include layout="@layout/toolbar" />
</FrameLayout>
<LinearLayout
android:id="@+id/drawer_right"
android:layout_width="320dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="@color/drawer_bg"
android:orientation="vertical" />
</android.support.v4.widget.DrawerLayout>
Нигде вроде не сказано, что ящик должен быть только элементом ListView (по крайней мере в доках я такого не нашёл).
По этому я решил использовать LinearLayout. И столкнулся с некоторыми проблемами:
1. Если внутри ящика остаётся пустое пространство, то прикоснувшись в пустом месте и проведя пальцем вниз или вверх, прокручивается контент который расположен в FrameLayout.
2. Разметка содержимого внутри ящика некорректно работает. Т.е. например мне нужно внутри разместить LinearLayout с параметром android:layout_height="match_parent". Но почему-то этот LinearLayout не растягивается по всей высоте, а ведёт себя как будто layout_height = wrap_content.
Отсюда возникает 2 вопроса:
1. Как сделать так, чтобы на действия в ящике не реагировал основной контент?2. Как растянуть LinearLayout (который находится внутри ящика) на всю высоту ящика?