user2527666 user2527666 - 5 months ago 122
Android Question

DrawerLayout.openDrawer does not work the first time

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

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