我的应用程序有一个DrawerLayout
,其中有两个抽屉,一个在左侧用于导航,另一个在右侧用于通知。当应用程序进行冷启动并向左滑动抽屉打开时,右侧抽屉从屏幕的最左侧跳到右侧。
看起来像这样:http://i.imgur.com/mhoJ7MZ.gifv
如视频中所示,我尝试使用DrawerLayout
的{{1}}和isDrawerOpen
方法尝试查看它是否确实认为正确的抽屉是否打开(如果不是因为当左边的抽屉被打开时,它似乎正在“关闭”抽屉,但是我没有从中得到任何有用的东西。
是什么导致奇怪的跳跃?
我的活动的XML在下面,完整的代码是here。
isDrawerVisible
答案 0 :(得分:8)
问题来自android:visibility="gone"
上的LinearLayout
元素 - 出于某种原因,如果视图显示与否,可见性设置与DrawerLayout的逻辑冲突,所以它试图隐藏它。
从XML中取出它会导致一切看起来都一样(因为DrawerLayout
查看layout_gravity
以确定哪些子视图是抽屉并隐藏它们本身)并且没有奇怪的跳跃。 / p>