DrawerLayout.openDrawer does not work the first time

user2527666 picture user2527666 · Aug 6, 2013 · Viewed 8.1k times · Source

I am using a android.support.v4.widget.DrawerLayout in my activity. As long as I use the swipe gesture to open it, it works fine.

However, when I want to open it through a button click by calling drawer.openDrawer(Gravity.LEFT), it does not work.

But, if I open it once using the swipe gesture, after that it works normally with button click.

Any idea how I could solve or work around this?

Answer

Eduardo Lino picture Eduardo Lino · Jan 16, 2014

I had the same issue and I've just found out that for some reason the FrameLayout that represents the drawer have the visibility set to "gone", that probably goes to "visible" during the first slideGesture.

So, open your layout xml file, locate your FrameLayout that represents the drawer and simply erase the visibility setting. My opening tag is now as follows:

<FrameLayout
    android:layout_width="305dp"
    android:layout_height="match_parent"
    android:layout_gravity="start">

That worked for me.

Cheers