Java Code Examples for android.view.View.MEASURED_STATE_MASK

The following are Jave code examples for showing how to use MEASURED_STATE_MASK of the android.view.View class. You can vote up the examples you like. Your votes will be used in our system to get more good examples.
Example 1
Project: schulcloud-mobile-android   File: ListItemLayout.java   Source Code and License Vote up 6 votes
private int measureCombinedMainTextViewsWidthAndState(int maxWidth, int widthMode) {
    int combinedChildMeasuredStates = 0;
    int maxRequiredTextWidth = 0;

    for (int i = 0; i < mChildsMainText.length; i++) {
        View textView = mChildsMainText[i];
        if (!takesSpace(textView))
            continue;

        measureChild(textView, MeasureSpec.makeMeasureSpec(maxWidth, widthMode),
                mHeightMeasureSpecsMainText[i]);
        int measuredWidthAndState = textView.getMeasuredWidthAndState();

        combinedChildMeasuredStates = combineMeasuredStates(combinedChildMeasuredStates,
                measuredWidthAndState);
        maxRequiredTextWidth = Math.max(maxRequiredTextWidth,
                measuredWidthAndState & View.MEASURED_SIZE_MASK);
    }
    return (combinedChildMeasuredStates & View.MEASURED_STATE_MASK) | maxRequiredTextWidth;
}
 
Example 2
Project: schulcloud-mobile-android   File: ListItemLayout.java   Source Code and License Vote up 4 votes
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
    // Fix if textSecondary2 is set, but textSecondary isn't
    if (mChildTextSecondary == null && mChildTextSecondary2 != null) {
        mChildTextSecondary = mChildTextSecondary2;
        mChildTextSecondary2 = null;
    }

    Resources res = getResources();
    int totalExtrasWidth = getTotalHorizontalPadding();

    // Set required height
    int heightRes;
    if (!takesSpace(mChildTextSecondary2))
        if (!takesSpace(mChildTextSecondary))
            if (!takesSpace(mChildAvatar))
                heightRes = R.dimen.material_listItemLayout_height;
            else
                heightRes = R.dimen.material_listItemLayout_height_singleLineWithAvatar;
        else
            heightRes = R.dimen.material_listItemLayout_height_twoLine;
    else
        heightRes = R.dimen.material_listItemLayout_height_threeLine;
    int height = getResources().getDimensionPixelSize(heightRes)
            + getPaddingTop() + getPaddingBottom();

    // Avatar
    int text_offsetStart_withStartDetail = res.getDimensionPixelSize(
            R.dimen.material_listItemLayout_text_offsetStart_withStartDetail);
    if (takesSpace(mChildAvatar)) {
        totalExtrasWidth += text_offsetStart_withStartDetail;
        measureChild(mChildAvatar, mAvatar_measureSpec, mAvatar_measureSpec);
    } else if (takesSpace(mChildStartIcon)) {
        totalExtrasWidth += text_offsetStart_withStartDetail;
        measureChild(mChildStartIcon, mStartIcon_measureSpec, mStartIcon_measureSpec);
    }

    // End icon/end texts
    if (takesSpace(mChildEndIcon)) {
        totalExtrasWidth += res.getDimensionPixelSize(
                R.dimen.material_listItemLayout_text_offsetEnd_withEndIcon);
        measureChild(mChildEndIcon, mEndIcon_measureSpec, mEndIcon_measureSpec);
    } else if (takesSpace(mChildEndTextTop) || takesSpace(mChildEndTextBottom)) {
        totalExtrasWidth += res.getDimensionPixelOffset(
                R.dimen.material_listItemLayout_text_offsetEnd_withEndText);
        if (takesSpace(mChildEndTextTop))
            mChildEndTextTop.measure(mEndText_measureSpecWidth, mEndText_measureSpecHeight);
        if (takesSpace(mChildEndTextBottom))
            mChildEndTextBottom.measure(mEndText_measureSpecWidth, mEndText_measureSpecHeight);
    }

    // Main texts
    int combinedTextWidthAndState = measureCombinedMainTextViewsWidthAndState(
            MeasureSpec.getSize(widthMeasureSpec) - totalExtrasWidth,
            MeasureSpec.getMode(widthMeasureSpec));
    int combinedChildMeasuredStates = combinedTextWidthAndState & View.MEASURED_STATE_MASK;
    int maxRequiredTextWidth = combinedTextWidthAndState & View.MEASURED_SIZE_MASK;

    setMeasuredDimension(
            resolveSizeAndState(totalExtrasWidth + maxRequiredTextWidth,
                    widthMeasureSpec, combinedChildMeasuredStates),
            resolveSizeAndState(height, heightMeasureSpec, 0));
}
 
Example 3
Project: CSipSimple   File: IcsView.java   Source Code and License Vote up 2 votes
/**
 * Return only the state bits of {@link #getMeasuredWidthAndState()}
 * and {@link #getMeasuredHeightAndState()}, combined into one integer.
 * The width component is in the regular bits {@link #MEASURED_STATE_MASK}
 * and the height component is at the shifted bits
 * {@link #MEASURED_HEIGHT_STATE_SHIFT}>>{@link #MEASURED_STATE_MASK}.
 */
public static int getMeasuredStateInt(View child) {
    return (child.getMeasuredWidth()&View.MEASURED_STATE_MASK)
            | ((child.getMeasuredHeight()>>View.MEASURED_HEIGHT_STATE_SHIFT)
                    & (View.MEASURED_STATE_MASK>>View.MEASURED_HEIGHT_STATE_SHIFT));
}