@Override
 protected void onLayout(boolean changed, int left, int top, int right, int bottom) {
   final int width = getMeasuredWidth();
   final int height = getMeasuredHeight();
   mProgressBar.setBounds(0, 0, width, mProgressBarHeight);
   if (getChildCount() == 0) {
     return;
   }
   final View child = getChildAt(0);
   final int childLeft = getPaddingLeft();
   final int childTop = mCurrentTargetOffsetTop + getPaddingTop();
   final int childWidth = width - getPaddingLeft() - getPaddingRight();
   final int childHeight = height - getPaddingTop() - getPaddingBottom();
   child.layout(childLeft, childTop, childLeft + childWidth, childTop + childHeight);
 }