@Override protected void onLayout(boolean changed, int l, int t, int r, int b) { mContentView.layout(0, 0, getMeasuredWidth(), getMeasuredHeight()); switch (mSlideDirection) { case SLIDE_LEFT: mSlideView.layout(-mSlideView.getMeasuredWidth(), 0, 0, getMeasuredHeight()); break; case SLIDE_RIGHT: mSlideView.layout(getMeasuredWidth(), 0, mSlideView.getMeasuredWidth() + getMeasuredWidth(), getMeasuredHeight()); break; case SLIDE_TOP: mSlideView.layout(0, -mSlideView.getMeasuredHeight(), getMeasuredWidth(), 0); break; case SLIDE_BOTTOM: mSlideView.layout(0, getMeasuredHeight(), getMeasuredWidth(), mSlideView.getMeasuredHeight() + getMeasuredHeight()); break; } }