Ошибка Android Drawer Drawer с использованием образца
Я пытаюсь реализовать шаблон ящика навигации, основанный на моем приложении. Я загрузил образец кода из здесь, и я запустил его и в 90% случаев, когда ящик работает нормально, но иногда ящик застревает, когда я пытаюсь чтобы открыть его. У меня есть способ воспроизвести ситуацию, но она не всегда работает. Что я делаю:
1- Запустите образец кода как есть.
2- Положите палец на левый край, чтобы получить зарисовку ящика
3- Отпустите палец и нажмите на основной фрагмент
4- Попробуйте открыть ящик как обычно
Иногда ящик застревает в режиме подглядывания, независимо от того, сколько вы проведете пальцем вправо, чтобы открыть ящик больше. Кто-нибудь имел/исправил эту проблему?
Ответы
Ответ 1
Я столкнулся с аналогичной проблемой, о которой говорил вам. У меня был вид списка внутри относительного макета (FILL_PARENT
). Всякий раз, когда содержимое в представлении списка меньше, и когда я перетаскивал область, находящуюся за пределами представления списка, ящик навигации был поражен. Установка android:clickable="true"
для относительной компоновки разрешила проблему. Надеюсь, это поможет.
Ответ 2
Чтобы уточнить ответ Viji, если вы используете что-то вроде приведенного примера ящика навигации:
<!-- A DrawerLayout is intended to be used as the top-level content view using match_parent for both width and height to consume the full space available. -->
<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">
<!-- As the main content view, the view below consumes the entire
space available using match_parent in both dimensions. -->
<FrameLayout
android:id="@+id/content_frame"
android:layout_width="match_parent"
android:layout_height="match_parent" />
<!-- android:layout_gravity="start" tells DrawerLayout to treat
this as a sliding drawer on the left side for left-to-right
languages and on the right side for right-to-left languages.
The drawer is given a fixed width in dp and extends the full height of
the container. A solid background is used for contrast
with the content view. -->
<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:clickable="true"
к FrameLayout, похоже, устраняет проблему.