0

I have an app where I override the onDrawerClosed of an ActionBarDrawerToggle. I have noticed that there is always an unwanted delay before the onDrawerClosed method is called. The problem is very easy to spot: when I override onDrawerSlide and put in some logging I see clearly that the slideOffset value is 0.0 somewhere between 50-100ms before onDrawerClosed is called. Why is this delay there?

mDrawerToggle = new ActionBarDrawerToggle([...]) {
    public void onDrawerClosed(View view) {
        Log.d(TAG, String.format("% 12d onDrawerClosed", Calendar.getInstance().getTimeInMillis()));
        super.onDrawerClosed(view);
    }

    public void onDrawerOpened(View drawerView) {
        super.onDrawerOpened(drawerView);
    }

    @Override
    public void onDrawerSlide(View drawerView, float slideOffset) {
        Log.d(TAG, String.format("% 12d onDrawerSlide %f", Calendar.getInstance().getTimeInMillis(), slideOffset)));
        // THIS IS CALLED WITH slideOffset = 0.0f TOO LONG BEFORE onDrawerClosed
        super.onDrawerSlide(drawerView, slideOffset);
    }
};
ThomasThiebaud
  • 11,331
  • 6
  • 54
  • 77
emidander
  • 2,383
  • 22
  • 29
  • you try this link http://stackoverflow.com/questions/19460683/speed-up-navigation-drawer-animation-speed-on-closing – MPG Oct 13 '15 at 10:20
  • @MPG thanks, I saw it earlier. It doesn't solve the delay issue, but it might help with the feeling of slowness that our users experience. – emidander Oct 13 '15 at 11:11

1 Answers1

0

i'm not sure about this answer can you put that Log.d after super invoked

hata
  • 11,633
  • 6
  • 46
  • 69
Akhil Jayakumar
  • 2,262
  • 14
  • 25