修正 SlidingDrawerLayout 开启状态错误

This commit is contained in:
seven332 committed 2014-11-11 15:31:43 +08:00
1 parent 2bac87cc9f
commit f6b64bc01c
1 file changed
+15 -10
@@ -656,16 +656,21 @@ public class SlidingDrawerLayout extends ViewGroup implements ValueAnimator.Anim
else
dispatchOnDrawerClosed(mTargetView);
if (mOpenTask == null || mToOpen)
;
else if (mOpenTask == mLeftDrawer)
startAnimation(true, true);
else if (mOpenTask == mRightDrawer)
startAnimation(true, false);
} else {
mCancelAnimation = false;
if (mOpenTask != null && !mToOpen &&
(mOpenTask == mLeftDrawer || mOpenTask == mRightDrawer)) {
// If call startAnimation directly,
// onAnimationStart and onAnimationEnd will not be called
final boolean isLeft = mOpenTask == mLeftDrawer;
getHandler().post(new Runnable() {
@Override
public void run() {
startAnimation(isLeft, true);
}
});
}
}
mCancelAnimation = false;
mOpenTask = null;
}
@@ -907,7 +912,7 @@ public class SlidingDrawerLayout extends ViewGroup implements ValueAnimator.Anim
// Callback
if (update && mListener != null) {
mListener.onDrawerOpened(drawerView);
mListener.onDrawerClosed(drawerView);
}
}