本文整理汇总了Java中com.facebook.csslayout.MeasureOutput类的典型用法代码示例。如果您正苦于以下问题:Java MeasureOutput类的具体用法?Java MeasureOutput怎么用?Java MeasureOutput使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MeasureOutput类属于com.facebook.csslayout包,在下文中一共展示了MeasureOutput类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
// measure() should never be called before setThemedContext()
EditText editText = Assertions.assertNotNull(mEditText);
measureOutput.width = width;
editText.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
mFontSize == UNSET ?
(int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize);
mComputedPadding = spacingToFloatArray(getPadding());
editText.setPadding(
(int) Math.ceil(getPadding().get(Spacing.LEFT)),
(int) Math.ceil(getPadding().get(Spacing.TOP)),
(int) Math.ceil(getPadding().get(Spacing.RIGHT)),
(int) Math.ceil(getPadding().get(Spacing.BOTTOM)));
if (mNumberOfLines != UNSET) {
editText.setLines(mNumberOfLines);
}
editText.measure(0 /* unspecified */, 0 /* unspecified */);
measureOutput.height = editText.getMeasuredHeight();
}
开发者ID:john1jan,项目名称:ReactNativeSignatureExample,代码行数:25,代码来源:ReactTextInputShadowNode.java
示例2: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
if (!mMeasured) {
// Create a switch with the default config and measure it; since we don't (currently)
// support setting custom switch text, this is fine, as all switches will measure the same
// on a specific device/theme/locale combination.
ReactSwitch reactSwitch = new ReactSwitch(getThemedContext());
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSwitch.measure(spec, spec);
mWidth = reactSwitch.getMeasuredWidth();
mHeight = reactSwitch.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:john1jan,项目名称:ReactNativeSignatureExample,代码行数:19,代码来源:ReactSwitchManager.java
示例3: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
final int style = ReactProgressBarViewManager.getStyleFromString(getStyle());
if (!mMeasured.contains(style)) {
ProgressBar progressBar = new ProgressBar(getThemedContext(), null, style);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
progressBar.measure(spec, spec);
mHeight.put(style, progressBar.getMeasuredHeight());
mWidth.put(style, progressBar.getMeasuredWidth());
mMeasured.add(style);
}
measureOutput.height = mHeight.get(style);
measureOutput.width = mWidth.get(style);
}
开发者ID:john1jan,项目名称:ReactNativeSignatureExample,代码行数:18,代码来源:ProgressBarShadowNode.java
示例4: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, MeasureOutput measureOutput) {
if (!mMeasured) {
Spinner reactSwitch = new Spinner(getThemedContext());
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED
);
reactSwitch.measure(spec, spec);
mWidth = reactSwitch.getMeasuredWidth();
mHeight = reactSwitch.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:webschik,项目名称:react-native-spinner-android,代码行数:19,代码来源:SpinnerManager.java
示例5: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
// measure() should never be called before setThemedContext()
EditText editText = Assertions.assertNotNull(mEditText);
measureOutput.width = width;
editText.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
mFontSize == UNSET ?
(int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize);
mComputedPadding = spacingToFloatArray(getPadding());
editText.setPadding(
(int) Math.ceil(getPadding().get(Spacing.LEFT)),
(int) Math.ceil(getPadding().get(Spacing.TOP)),
(int) Math.ceil(getPadding().get(Spacing.RIGHT)),
(int) Math.ceil(getPadding().get(Spacing.BOTTOM)));
if (mNumberOfLines != UNSET) {
editText.setLines(mNumberOfLines);
}
editText.measure(MEASURE_SPEC, MEASURE_SPEC);
measureOutput.height = editText.getMeasuredHeight();
}
开发者ID:bamlab,项目名称:react-native-text-input,代码行数:25,代码来源:ReactTextInputShadowNode.java
示例6: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
if (!mMeasured) {
// Create a switch with the default config and measure it; since we don't (currently)
// support setting custom switch text, this is fine, as all switches will measure the same
// on a specific device/theme/locale combination.
ReactSwitch reactSwitch = new ReactSwitch(getThemedContext());
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSwitch.measure(spec, spec);
mWidth = reactSwitch.getMeasuredWidth();
mHeight = reactSwitch.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:25,代码来源:ReactSwitchManager.java
示例7: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
final int style = ReactProgressBarViewManager.getStyleFromString(getStyle());
if (!mMeasured.contains(style)) {
ProgressBar progressBar = ReactProgressBarViewManager.createProgressBar(getThemedContext(), style);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
progressBar.measure(spec, spec);
mHeight.put(style, progressBar.getMeasuredHeight());
mWidth.put(style, progressBar.getMeasuredWidth());
mMeasured.add(style);
}
measureOutput.height = mHeight.get(style);
measureOutput.width = mWidth.get(style);
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:24,代码来源:ProgressBarShadowNode.java
示例8: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
if (!mMeasured) {
SeekBar reactSlider = new ReactSlider(getThemedContext(), null, STYLE);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSlider.measure(spec, spec);
mWidth = reactSlider.getMeasuredWidth();
mHeight = reactSlider.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:22,代码来源:ReactSliderManager.java
示例9: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
if (!mMeasured) {
// Create a switch with the default config and measure it; since we don't (currently)
// support setting custom switch text, this is fine, as all switches will measure the same
// on a specific device/theme/locale combination.
ReactSwitch reactSwitch = new ReactSwitch(getThemedContext());
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSwitch.measure(spec, spec);
mWidth = reactSwitch.getMeasuredWidth();
mHeight = reactSwitch.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:Right-Men,项目名称:Ironman,代码行数:25,代码来源:ReactSwitchManager.java
示例10: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
final int style = ReactProgressBarViewManager.getStyleFromString(getStyle());
if (!mMeasured.contains(style)) {
ProgressBar progressBar = ReactProgressBarViewManager.createProgressBar(getThemedContext(), style);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
progressBar.measure(spec, spec);
mHeight.put(style, progressBar.getMeasuredHeight());
mWidth.put(style, progressBar.getMeasuredWidth());
mMeasured.add(style);
}
measureOutput.height = mHeight.get(style);
measureOutput.width = mWidth.get(style);
}
开发者ID:Right-Men,项目名称:Ironman,代码行数:24,代码来源:ProgressBarShadowNode.java
示例11: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
if (!mMeasured) {
SeekBar reactSlider = new ReactSlider(getThemedContext(), null, STYLE);
final int spec = View.MeasureSpec.makeMeasureSpec(
ViewGroup.LayoutParams.WRAP_CONTENT,
View.MeasureSpec.UNSPECIFIED);
reactSlider.measure(spec, spec);
mWidth = reactSlider.getMeasuredWidth();
mHeight = reactSlider.getMeasuredHeight();
mMeasured = true;
}
measureOutput.width = mWidth;
measureOutput.height = mHeight;
}
开发者ID:Right-Men,项目名称:Ironman,代码行数:22,代码来源:ReactSliderManager.java
示例12: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(com.facebook.csslayout.CSSNode node, float width, boolean isExactly, MeasureOutput measureOutput) {
CSSNode cssNode = ((CSSNode) node);
View bindingView = cssNode.bindingView;
int w, h;
if (CSSConstants.isUndefined(width)) {
w = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
} else {
w = MeasureSpec.makeMeasureSpec((int) width, isExactly ? MeasureSpec.EXACTLY : MeasureSpec.AT_MOST);
}
h = MeasureSpec.makeMeasureSpec(0, MeasureSpec.UNSPECIFIED);
bindingView.measure(w, h);
measureOutput.width = bindingView.getMeasuredWidth();
measureOutput.height = bindingView.getMeasuredHeight();
cssNode.isMeasured = true;
}
开发者ID:zhangyuanwei,项目名称:CSSLayout,代码行数:19,代码来源:CSSLayout.java
示例13: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
// measure() should never be called before setThemedContext()
EditText editText = Assertions.assertNotNull(mEditText);
measureOutput.width = widthMode == CSSMeasureMode.UNDEFINED ? CSSConstants.UNDEFINED : width;
editText.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
mFontSize == UNSET ?
(int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize);
mComputedPadding = spacingToFloatArray(getPadding());
editText.setPadding(
(int) Math.ceil(getPadding().get(Spacing.LEFT)),
(int) Math.ceil(getPadding().get(Spacing.TOP)),
(int) Math.ceil(getPadding().get(Spacing.RIGHT)),
(int) Math.ceil(getPadding().get(Spacing.BOTTOM)));
if (mNumberOfLines != UNSET) {
editText.setLines(mNumberOfLines);
}
editText.measure(0 /* unspecified */, 0 /* unspecified */);
measureOutput.height = editText.getMeasuredHeight();
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:31,代码来源:ReactTextInputShadowNode.java
示例14: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
throw new IllegalStateException("SurfaceView should have explicit width and height set");
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:11,代码来源:ARTSurfaceViewManager.java
示例15: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
// measure() should never be called before setThemedContext()
EditText editText = Assertions.assertNotNull(mEditText);
editText.setTextSize(
TypedValue.COMPLEX_UNIT_PX,
mFontSize == UNSET ?
(int) Math.ceil(PixelUtil.toPixelFromSP(ViewDefaults.FONT_SIZE_SP)) : mFontSize);
mComputedPadding = new float[] {
getPadding(Spacing.START),
getPadding(Spacing.TOP),
getPadding(Spacing.END),
getPadding(Spacing.BOTTOM),
};
editText.setPadding(
(int) Math.floor(getPadding(Spacing.START)),
(int) Math.floor(getPadding(Spacing.TOP)),
(int) Math.floor(getPadding(Spacing.END)),
(int) Math.floor(getPadding(Spacing.BOTTOM)));
if (mNumberOfLines != UNSET) {
editText.setLines(mNumberOfLines);
}
editText.measure(
MeasureUtil.getMeasureSpec(width, widthMode),
MeasureUtil.getMeasureSpec(height, heightMode));
measureOutput.width = editText.getMeasuredWidth();
measureOutput.height = editText.getMeasuredHeight();
}
开发者ID:Right-Men,项目名称:Ironman,代码行数:38,代码来源:ReactTextInputShadowNode.java
示例16: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
throw new IllegalStateException("SurfaceView should have explicit width and height set");
}
开发者ID:Right-Men,项目名称:Ironman,代码行数:11,代码来源:ARTSurfaceViewManager.java
示例17: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public long measure(CSSNodeAPI node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode) {
if(show) {
int calcHeight = keys.size() * (RnckKeyboard.DEFAULT_KEY_HEIGHT + RnckKeyboard.DEFAULT_VERTICAL_GAP);
return MeasureOutput.make(width, calcHeight);
} else {
return MeasureOutput.make(0, 0);
}
}
开发者ID:reneweb,项目名称:rnck,代码行数:14,代码来源:RnckKeyboardManager.java
示例18: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
throw new IllegalStateException("SurfaceView should have explicit width and height set");
}
开发者ID:john1jan,项目名称:ReactNativeSignatureExample,代码行数:5,代码来源:ARTSurfaceViewManager.java
示例19: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(CSSNode node, float width, float height, MeasureOutput measureOutput) {
// TODO(5578671): Handle text direction (see View#getTextDirectionHeuristic)
ReactTextShadowNode reactCSSNode = (ReactTextShadowNode) node;
TextPaint textPaint = sTextPaintInstance;
Layout layout;
Spanned text = Assertions.assertNotNull(
reactCSSNode.mPreparedSpannableText,
"Spannable element has not been prepared in onBeforeLayout");
BoringLayout.Metrics boring = BoringLayout.isBoring(text, textPaint);
float desiredWidth = boring == null ?
Layout.getDesiredWidth(text, textPaint) : Float.NaN;
if (boring == null &&
(CSSConstants.isUndefined(width) ||
(!CSSConstants.isUndefined(desiredWidth) && desiredWidth <= width))) {
// Is used when the width is not known and the text is not boring, ie. if it contains
// unicode characters.
layout = new StaticLayout(
text,
textPaint,
(int) Math.ceil(desiredWidth),
Layout.Alignment.ALIGN_NORMAL,
1,
0,
true);
} else if (boring != null && (CSSConstants.isUndefined(width) || boring.width <= width)) {
// Is used for single-line, boring text when the width is either unknown or bigger
// than the width of the text.
layout = BoringLayout.make(
text,
textPaint,
boring.width,
Layout.Alignment.ALIGN_NORMAL,
1,
0,
boring,
true);
} else {
// Is used for multiline, boring text and the width is known.
layout = new StaticLayout(
text,
textPaint,
(int) width,
Layout.Alignment.ALIGN_NORMAL,
1,
0,
true);
}
measureOutput.height = layout.getHeight();
measureOutput.width = layout.getWidth();
if (reactCSSNode.mNumberOfLines != UNSET &&
reactCSSNode.mNumberOfLines < layout.getLineCount()) {
measureOutput.height = layout.getLineBottom(reactCSSNode.mNumberOfLines - 1);
}
if (reactCSSNode.mLineHeight != UNSET) {
int lines = reactCSSNode.mNumberOfLines != UNSET
? Math.min(reactCSSNode.mNumberOfLines, layout.getLineCount())
: layout.getLineCount();
float lineHeight = PixelUtil.toPixelFromSP(reactCSSNode.mLineHeight);
measureOutput.height = lineHeight * lines;
}
}
开发者ID:john1jan,项目名称:ReactNativeSignatureExample,代码行数:65,代码来源:ReactTextShadowNode.java
示例20: measure
import com.facebook.csslayout.MeasureOutput; //导入依赖的package包/类
@Override
public void measure(
CSSNode node,
float width,
CSSMeasureMode widthMode,
float height,
CSSMeasureMode heightMode,
MeasureOutput measureOutput) {
// TODO(5578671): Handle text direction (see View#getTextDirectionHeuristic)
ReactTextShadowNode reactCSSNode = (ReactTextShadowNode) node;
TextPaint textPaint = sTextPaintInstance;
Layout layout;
Spanned text = Assertions.assertNotNull(
reactCSSNode.mPreparedSpannableText,
"Spannable element has not been prepared in onBeforeLayout");
BoringLayout.Metrics boring = BoringLayout.isBoring(text, textPaint);
float desiredWidth = boring == null ?
Layout.getDesiredWidth(text, textPaint) : Float.NaN;
// technically, width should never be negative, but there is currently a bug in
boolean unconstrainedWidth = widthMode == CSSMeasureMode.UNDEFINED || width < 0;
if (boring == null &&
(unconstrainedWidth ||
(!CSSConstants.isUndefined(desiredWidth) && desiredWidth <= width))) {
// Is used when the width is not known and the text is not boring, ie. if it contains
// unicode characters.
layout = new StaticLayout(
text,
textPaint,
(int) Math.ceil(desiredWidth),
Layout.Alignment.ALIGN_NORMAL,
1,
0,
true);
} else if (boring != null && (unconstrainedWidth || boring.width <= width)) {
// Is used for single-line, boring text when the width is either unknown or bigger
// than the width of the text.
layout = BoringLayout.make(
text,
textPaint,
boring.width,
Layout.Alignment.ALIGN_NORMAL,
1,
0,
boring,
true);
} else {
// Is used for multiline, boring text and the width is known.
layout = new StaticLayout(
text,
textPaint,
(int) width,
Layout.Alignment.ALIGN_NORMAL,
1,
0,
true);
}
measureOutput.height = layout.getHeight();
measureOutput.width = layout.getWidth();
if (reactCSSNode.mNumberOfLines != UNSET &&
reactCSSNode.mNumberOfLines < layout.getLineCount()) {
measureOutput.height = layout.getLineBottom(reactCSSNode.mNumberOfLines - 1);
}
if (reactCSSNode.mLineHeight != UNSET) {
int lines = reactCSSNode.mNumberOfLines != UNSET
? Math.min(reactCSSNode.mNumberOfLines, layout.getLineCount())
: layout.getLineCount();
float lineHeight = PixelUtil.toPixelFromSP(reactCSSNode.mLineHeight);
measureOutput.height = lineHeight * lines;
}
}
开发者ID:ManrajGrover,项目名称:react-native-box-loaders,代码行数:74,代码来源:ReactTextShadowNode.java
注:本文中的com.facebook.csslayout.MeasureOutput类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论