/** * Extracts the mode from the supplied size specification. * * @param sizeSpec the size specification to extract the mode from * @return {@link com.facebook.litho.SizeSpec#UNSPECIFIED} or * {@link com.facebook.litho.SizeSpec#EXACTLY} */ public static int getMode(int sizeSpec) { return View.MeasureSpec.getMode(sizeSpec); }
private int measureHeight(int pHeightMeasureSpec) { int result = 0; int heightMode = MeasureSpec.getMode(pHeightMeasureSpec); int heightSize = MeasureSpec.getSize(pHeightMeasureSpec); switch (heightMode) { case MeasureSpec.AT_MOST: case MeasureSpec.EXACTLY: result = heightSize; break; } return result; }
private int measureWidth(int pWidthMeasureSpec) { int result = 0; int widthMode = MeasureSpec.getMode(pWidthMeasureSpec); int widthSize = MeasureSpec.getSize(pWidthMeasureSpec); switch (widthMode) { case MeasureSpec.AT_MOST: case MeasureSpec.EXACTLY: result = widthSize; break; } return result; }
/** * Measure the view to end up as a square, based on the minimum of the height and width. */ @Override public void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int measuredWidth = MeasureSpec.getSize(widthMeasureSpec); int widthMode = MeasureSpec.getMode(widthMeasureSpec); int measuredHeight = MeasureSpec.getSize(heightMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec); int minDimension = Math.min(measuredWidth, measuredHeight); super.onMeasure(MeasureSpec.makeMeasureSpec(minDimension, widthMode), MeasureSpec.makeMeasureSpec(minDimension, heightMode)); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { // restrict view to default progressbar height int width = MeasureSpec.getSize(widthMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); int heightMode = MeasureSpec.getMode(heightMeasureSpec); switch (heightMode) { case MeasureSpec.EXACTLY: break; case MeasureSpec.AT_MOST: // prefer default height, if not all available use as much as possible float desiredHeight = (baselineHeight * bootstrapSize); height = (height > desiredHeight) ? (int) desiredHeight : height; break; default: height = (int) (baselineHeight * bootstrapSize); break; } setMeasuredDimension(width, height); }
private int measureWidth(int widthMeasureSpec) { int mode = MeasureSpec.getMode(widthMeasureSpec); int width = MeasureSpec.getSize(widthMeasureSpec); int result = 0; switch (mode) { case MeasureSpec.EXACTLY: result = width; break; case MeasureSpec.AT_MOST: case MeasureSpec.UNSPECIFIED: result = mTotalCount * mRadius * 2 + (mTotalCount - 1) * mCircleSpacing + getPaddingLeft() + getPaddingRight() + mStrokeWidth * 2; break; default: break; } return result; }
private int measureHeight(int heightMeasureSpec) { int mode = MeasureSpec.getMode(heightMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); int result = 0; switch (mode) { case MeasureSpec.EXACTLY: result = height; break; case MeasureSpec.AT_MOST: case MeasureSpec.UNSPECIFIED: result = mMaxRadius * 2 + getPaddingTop() + getPaddingBottom(); break; default: break; } return result; }
private int measureWidth(int measureSpec) { int result; int specMode = MeasureSpec.getMode(measureSpec); int specSize = MeasureSpec.getSize(measureSpec); if (specMode == MeasureSpec.EXACTLY) { result = specSize; } else { result = (int) mTextPaintOutline.measureText(mText) + getPaddingLeft() + getPaddingRight(); if (specMode == MeasureSpec.AT_MOST) { result = Math.min(result, specSize); } } return result; }
private int measureHeight(int heightMeasureSpec) { int mode = MeasureSpec.getMode(heightMeasureSpec); int height = MeasureSpec.getSize(heightMeasureSpec); int result = 0; switch (mode) { case MeasureSpec.EXACTLY: result = height; break; case MeasureSpec.AT_MOST: case MeasureSpec.UNSPECIFIED: result = mRadius * 2 + mStrokeWidth * 2 + getPaddingTop() + getPaddingBottom(); break; default: break; } return result; }
private int measureWidth(int widthMeasureSpec) { int mode = MeasureSpec.getMode(widthMeasureSpec); int size = MeasureSpec.getSize(widthMeasureSpec); int result = size; switch (mode) { case MeasureSpec.AT_MOST: int width = mTextBounds.width() + getPaddingLeft() + getPaddingRight(); result = Math.min(width, size); break; case MeasureSpec.UNSPECIFIED: result = mTextBounds.width() + getPaddingLeft() + getPaddingRight(); break; default: break; } return result; }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final int width = MeasureSpec.getSize(widthMeasureSpec); if (width != calculatedWithWidth) { recalculate(width); } final int desiredHeight = getDesiredHeight(); int height; switch (MeasureSpec.getMode(heightMeasureSpec)) { case MeasureSpec.EXACTLY: height = MeasureSpec.getSize(heightMeasureSpec); break; case MeasureSpec.AT_MOST: height = Math.min(desiredHeight, MeasureSpec.getSize(heightMeasureSpec)); break; case MeasureSpec.UNSPECIFIED: default: height = desiredHeight; break; } setMeasuredDimension(width, height); measureChildren(widthMeasureSpec, MeasureSpec.makeMeasureSpec(height, MeasureSpec.AT_MOST)); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final View thisView = this; if (MeasureSpec.getMode(heightMeasureSpec) == EXACTLY) { final int parentHeight = MeasureSpec.getSize(heightMeasureSpec); if (parentHeight < mMinHeightOfContent) { final int padding = (parentHeight - mMinHeightOfContent) / 2; thisView.setPadding(thisView.getPaddingLeft(), padding, thisView.getPaddingRight(), padding); } else { thisView.setPadding(thisView.getPaddingLeft(), 0, thisView.getPaddingRight(), 0); } } else { thisView.setPadding(thisView.getPaddingLeft(), mPaddingTop, thisView.getPaddingRight(), mPaddingBottom); } super.onMeasure(widthMeasureSpec, heightMeasureSpec); if (mMinHeightOfContent == 0) { final ViewGroup thisGroup = this; for (int i = 0; i < thisGroup.getChildCount(); i++) { final int height = thisGroup.getChildAt(i).getMeasuredHeight(); if (mMinHeightOfContent < height) { mMinHeightOfContent = height; } } } }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int wMode = MeasureSpec.getMode(widthMeasureSpec); int w = MeasureSpec.getSize(widthMeasureSpec); int hMode = MeasureSpec.getMode(heightMeasureSpec); int h = MeasureSpec.getSize(heightMeasureSpec); if (wMode == MeasureSpec.AT_MOST) { w = w <= getContext().getResources().getDisplayMetrics().widthPixels ? w : getContext().getResources().getDisplayMetrics().widthPixels; } if (hMode == MeasureSpec.AT_MOST) { h = WEB_INDICATOR_DEFAULT_HEIGHT; } this.setMeasuredDimension(w, h); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int targetWidth = GridViewWithHeaderAndFooter.this.getMeasuredWidth() - GridViewWithHeaderAndFooter.this.getPaddingLeft() - GridViewWithHeaderAndFooter.this.getPaddingRight(); widthMeasureSpec = MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.getMode(widthMeasureSpec)); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int widthMode = MeasureSpec.getMode(widthMeasureSpec); int widthSize = (widthMode == MeasureSpec.UNSPECIFIED) ? mSelectionRadius * 12 : MeasureSpec.getSize(widthMeasureSpec) - getPaddingLeft() - getPaddingRight(); int heightMode = MeasureSpec.getMode(heightMeasureSpec); int heightSize = (heightMode == MeasureSpec.UNSPECIFIED) ? mSelectionRadius * 12 : MeasureSpec.getSize(heightMeasureSpec) - getPaddingTop() - getPaddingBottom(); int size = Math.min(widthSize, heightSize); int width = (widthMode == MeasureSpec.EXACTLY) ? widthSize : size; int height = (heightMode == MeasureSpec.EXACTLY) ? heightSize : size; setMeasuredDimension(width + getPaddingLeft() + getPaddingRight(), height + getPaddingTop() + getPaddingBottom()); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int heightMode = View.MeasureSpec.getMode(heightMeasureSpec); if(heightMode == View.MeasureSpec.UNSPECIFIED){ if(mItemHeight != ViewGroup.LayoutParams.WRAP_CONTENT) heightMeasureSpec = View.MeasureSpec.makeMeasureSpec(mItemHeight * getAdapter().getCount() + getPaddingTop() + getPaddingBottom(), View.MeasureSpec.EXACTLY); } super.onMeasure(widthMeasureSpec, heightMeasureSpec); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { final RefreshInternal refreshHeader = mRefreshHeader; if (refreshHeader != null) { int mode = MeasureSpec.getMode(heightMeasureSpec); if (mode == MeasureSpec.AT_MOST) { refreshHeader.getView().measure(widthMeasureSpec, heightMeasureSpec); int height = refreshHeader.getView().getMeasuredHeight(); super.setMeasuredDimension(View.resolveSize(super.getSuggestedMinimumWidth(), widthMeasureSpec), height); } else { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } } else { super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int targetWidth = ObservableGridView.this.getMeasuredWidth() - ObservableGridView.this.getPaddingLeft() - ObservableGridView.this.getPaddingRight(); widthMeasureSpec = MeasureSpec.makeMeasureSpec(targetWidth, MeasureSpec.getMode(widthMeasureSpec)); super.onMeasure(widthMeasureSpec, heightMeasureSpec); } }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { extraTopPadding = 0; extraBottomPadding = 0; super.onMeasure(widthMeasureSpec, heightMeasureSpec); int height = getMeasuredHeight(); height += ensureBaselineOnGrid(); height += ensureHeightGridAligned(height); setMeasuredDimension(getMeasuredWidth(), height); checkMaxLines(height, MeasureSpec.getMode(heightMeasureSpec)); }
@Override protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) { int heightMode = MeasureSpec.getMode(heightMeasureSpec); int heightSize = MeasureSpec.getSize(heightMeasureSpec); int height = heightMode == MeasureSpec.UNSPECIFIED ? touchTargetHeight : heightMode == MeasureSpec.EXACTLY ? heightSize : Math.min(touchTargetHeight, heightSize); setMeasuredDimension(MeasureSpec.getSize(widthMeasureSpec), height); updateDrawableState(); }