本文整理匯總了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;
}
示例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));
}
示例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));
}