Мое приложение имеет DrawerLayout
с двумя ящиками в нем, один слева для навигации и один справа для уведомлений. Когда приложение проходит холодный старт, и я открываю левый ящик, правый ящик прыгает с левого края экрана вправо.DrawerLayout с двумя ящиками: правый «прыжок», когда он открывается?
Это выглядит следующим образом: http://i.imgur.com/mhoJ7MZ.gifv
Как показано на видео, я попытался с помощью DrawerLayout
«s isDrawerOpen
и isDrawerVisible
методы, чтобы попытаться увидеть, если он на самом деле думает, что правый ящик открыт, когда это не (так это кажется «закрытием» ящика при открытии левой), но я ничего не получил от этого.
Что вызывает странный прыжок?
Ниже приведена информация о моем действии, полный код here.
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
...
</LinearLayout>
<LinearLayout
android:id="@+id/left_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="start"
android:background="#ACFF0000"
android:gravity="center"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="LEFT DRAWER"
android:textSize="24sp" />
</LinearLayout>
<LinearLayout
android:id="@+id/right_drawer"
android:layout_width="240dp"
android:layout_height="match_parent"
android:layout_gravity="end"
android:background="#AC00FF00"
android:gravity="center"
android:visibility="gone">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="RIGHT DRAWER"
android:textSize="24sp" />
</LinearLayout>
</android.support.v4.widget.DrawerLayout>
Тестирование: этот ответ превосходный. –