public void smoothOpenMenu() {
   state = STATE_OPEN;
   if (mSwipeDirection == SwipeMenuRecyclerView.DIRECTION_LEFT) {
     mOpenScroller.startScroll(-mContentView.getLeft(), 0, mMenuView.getWidth(), 0, animDuration);
   } else {
     mOpenScroller.startScroll(mContentView.getLeft(), 0, mMenuView.getWidth(), 0, animDuration);
   }
   postInvalidate();
 }
 public void closeOpenedMenu() {
   state = STATE_CLOSE;
   if (mSwipeDirection == SwipeMenuRecyclerView.DIRECTION_LEFT) {
     mBaseX = -mContentView.getLeft();
     mCloseScroller.startScroll(0, 0, mMenuView.getWidth(), 0, animDuration);
   } else {
     mBaseX = mMenuView.getRight();
     mCloseScroller.startScroll(0, 0, mMenuView.getWidth(), 0, animDuration);
   }
   postInvalidate();
 }
  public void smoothCloseMenu() {
    state = STATE_CLOSE;
    if (mSwipeDirection == SwipeMenuListView.DIRECTION_LEFT) {
      mBaseX = -mContentView.getLeft();
      mCloseScroller.startScroll(0, 0, mMenuView.getWidth(), 0, 350);
    } else {
      mBaseX = mMenuView.getRight();
      mCloseScroller.startScroll(0, 0, mMenuView.getWidth(), 0, 350);
    }

    postInvalidate();
  }
 public void smoothScrollBy(int dx, int dy, int duration, Interpolator interpolator) {
   if (mInterpolator != interpolator) {
     mInterpolator = interpolator;
     mScroller = ScrollerCompat.create(getContext(), interpolator);
   }
   setScrollState(SCROLL_STATE_SETTLING);
   mLastFlingX = mLastFlingY = 0;
   mScroller.startScroll(0, 0, dx, dy, duration);
   postOnAnimation();
 }
 public void smoothOpenMenu() {
   state = STATE_OPEN;
   mOpenScroller.startScroll(-mContentView.getLeft(), 0, mMenuView.getWidth(), 0, 350);
   postInvalidate();
 }
 public void smoothCloseMenu() {
   state = STATE_CLOSE;
   mBaseX = -mContentView.getLeft();
   mCloseScroller.startScroll(0, 0, mBaseX, 0, 350);
   postInvalidate();
 }