StaticLayout.Builder builder = StaticLayout.Builder.obtain( data.text, 0, data.text.length(), paint, data.textWidth) .setLineSpacing(data.lineSpacingAdd, data.lineSpacingMult)
@TargetApi(Build.VERSION_CODES.M) private void createLayoutM(int width, float lineSpacingAdd) { layout = StaticLayout.Builder.obtain(displayText, 0, displayText.length(), paint, width - titleInsetStart - titleInsetEnd) .setLineSpacing(lineSpacingAdd, 1f) .setMaxLines(maxLines) .setEllipsize(TextUtils.TruncateAt.END) .setBreakStrategy(BREAK_STRATEGY) .build(); lineCount = layout.getLineCount(); }
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) final StaticLayout.Builder builder = StaticLayout.Builder.obtain(wrappedText, 0, text.length(), paint, maxTextWidth); builder.setAlignment(textAlignment); layout = builder.build();
private static Layout createUnrestrictedLayout(@Nonnull TextView view) { CharSequence text = view.getText(); Layout layout = view.getLayout(); TextPaint paint = layout.getPaint(); if (SDK_INT >= M) { return StaticLayout.Builder .obtain(text, 0, text.length(), layout.getPaint(), layout.getWidth()) .setAlignment(layout.getAlignment()) .setLineSpacing(view.getLineSpacingExtra(), view.getLineSpacingMultiplier()) .setIncludePad(view.getIncludeFontPadding()) .setBreakStrategy(view.getBreakStrategy()) .setHyphenationFrequency(view.getHyphenationFrequency()) .build(); } else { return new StaticLayout( text, paint, text.length(), layout.getAlignment(), view.getLineSpacingMultiplier(), view.getLineSpacingExtra(), view.getIncludeFontPadding()); } }
private void updateStaticLayout(int w) { if (text == null || text.trim().length() == 0) { textStaticLayout = null; return; } if (textStaticLayout == null) { int textWidth = textMathParent ? w : cameraLensRect.width(); textWidth = textWidth - textLeftMargin - textRightMargin; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { textStaticLayout = StaticLayout.Builder.obtain(text, 0, text.length(), textPaint, textWidth) .setAlignment(StaticLayout.Alignment.ALIGN_CENTER) .setLineSpacing(0, 1.0f) .build(); } else { textStaticLayout = new StaticLayout(text, textPaint, textWidth, StaticLayout.Alignment.ALIGN_CENTER, 1.0f, 0, true); } } }
StaticLayout.Builder builder = StaticLayout.Builder.obtain(text, start, end, paint, width) .setAlignment(alignment) .setLineSpacing(spacingAdd, spacingMult)