@Override
  protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    int widthSpecMode = MeasureSpec.getMode(widthMeasureSpec);
    int widthSpecSize = MeasureSpec.getSize(widthMeasureSpec);

    int heightSpecMode = MeasureSpec.getMode(heightMeasureSpec);
    int heightSpecSize = MeasureSpec.getSize(heightMeasureSpec);

    if (DBG) {
      if (widthSpecMode == MeasureSpec.UNSPECIFIED || heightSpecMode == MeasureSpec.UNSPECIFIED) {
        Log.e(
            "SlidingTab",
            "SlidingTab cannot have UNSPECIFIED MeasureSpec"
                + "(wspec="
                + widthSpecMode
                + ", hspec="
                + heightSpecMode
                + ")",
            new RuntimeException(LOG_TAG + "stack:"));
      }
    }

    mLeftSlider.measure(widthMeasureSpec, heightMeasureSpec);
    mRightSlider.measure(widthMeasureSpec, heightMeasureSpec);
    final int leftTabWidth = mLeftSlider.getTabWidth();
    final int rightTabWidth = mRightSlider.getTabWidth();
    final int leftTabHeight = mLeftSlider.getTabHeight();
    final int rightTabHeight = mRightSlider.getTabHeight();
    final int width;
    final int height;
    if (isHorizontal()) {
      width = Math.max(widthSpecSize, leftTabWidth + rightTabWidth);
      height = Math.max(leftTabHeight, rightTabHeight);
    } else {
      width = Math.max(leftTabWidth, rightTabHeight);
      height = Math.max(heightSpecSize, leftTabHeight + rightTabHeight);
    }
    setMeasuredDimension(width, height);
  }