當前位置: 首頁>>代碼示例>>Java>>正文


Java View.MEASURED_STATE_MASK屬性代碼示例

本文整理匯總了Java中android.view.View.MEASURED_STATE_MASK屬性的典型用法代碼示例。如果您正苦於以下問題:Java View.MEASURED_STATE_MASK屬性的具體用法?Java View.MEASURED_STATE_MASK怎麽用?Java View.MEASURED_STATE_MASK使用的例子?那麽, 這裏精選的屬性代碼示例或許可以為您提供幫助。您也可以進一步了解該屬性所在android.view.View的用法示例。


在下文中一共展示了View.MEASURED_STATE_MASK屬性的3個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Java代碼示例。

示例1: measureCombinedMainTextViewsWidthAndState

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;
}
 
開發者ID:schul-cloud,項目名稱:schulcloud-mobile-android,代碼行數:20,代碼來源:ListItemLayout.java

示例2: onMeasure

@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));
}
 
開發者ID:schul-cloud,項目名稱:schulcloud-mobile-android,代碼行數:63,代碼來源:ListItemLayout.java

示例3: getMeasuredStateInt

/**
 * 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));
}
 
開發者ID:treasure-lau,項目名稱:CSipSimple,代碼行數:12,代碼來源:IcsView.java


注:本文中的android.view.View.MEASURED_STATE_MASK屬性示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。