debugLayout = new DynamicLayout(debugText, debugTextPaint, getWidth(), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
@Override protected void onSizeChanged(int w, int h, int oldw, int oldh) { super.onSizeChanged(w, h, oldw, oldh); // Initialize the values; initializeValues(); // Build a new Dynamic Layout with the available width since we can only provide width when the dynamic layout is created mDynamicLayout = new DynamicLayout(mStringBuilder, mStringBuilder, mTextPaint, w, Layout.Alignment.ALIGN_CENTER, 1.0f, 1.0f, true); }
new DynamicLayout(spannable, mTickLabelFgPaint, (int) mBarItemWidth, Layout.Alignment.ALIGN_CENTER, 1.0f, 1.0f, false));
private DynamicLayout makeLayout(int width){ DynamicLayout result = new DynamicLayout(mText, mAppearance.textPaint(null), width, Layout.Alignment.ALIGN_NORMAL, mAppearance.getSpacingMult(), mAppearance.getLineSpacingAdd(), false); return result; }
if (layout == null) { layout = new DynamicLayout(spannable, mTickLabelFgPaint, (int) mBarItemWidth, Layout.Alignment.ALIGN_CENTER, 1.0f, 1.0f, false); mTickTextLayouts[tickFormat].put(text.length(), layout);
private Layout createWorkingLayout(String workingText, int textTotalWidth) { /** * float spacingmult:相对行间距,相对字体大小,1.5f表示行间距为1.5倍的字体高度。 * float spacingadd:在基础行距上添加多少 */ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { LineSpacingMultiplier = getLineSpacingMultiplier(); LineSpacingExtra = getLineSpacingExtra(); } else { if (LineSpacingMultiplier == 0.0f && LineSpacingExtra == 0.0f) { try { Field Multiplier = TextView.class.getDeclaredField("mSpacingMult"); Multiplier.setAccessible(true); LineSpacingMultiplier = Multiplier.getFloat(this); Field SpacingExtra = TextView.class.getDeclaredField("mSpacingAdd"); SpacingExtra.setAccessible(true); LineSpacingExtra = SpacingExtra.getFloat(this); } catch (Exception e) { e.printStackTrace(); LineSpacingMultiplier = 1.0f; LineSpacingExtra = 3.0f; } } } return new DynamicLayout(workingText, getPaint(), (textTotalWidth == 0 ? getScreenPixWidth(mContext) : textTotalWidth), Layout.Alignment.ALIGN_NORMAL, LineSpacingMultiplier, LineSpacingExtra, false); }
debugLayout = new DynamicLayout(debugText, debugTextPaint, getWidth(), Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false);
switch (mCurrState){ case STATE_SHRINK: { mLayout = new DynamicLayout(mOrigText, mTextPaint, mLayoutWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); mTextLineCount = mLayout.getLineCount(); return mOrigText; mLayout = new DynamicLayout(mOrigText, mTextPaint, mLayoutWidth, Layout.Alignment.ALIGN_NORMAL, 1.0f, 0.0f, false); mTextLineCount = mLayout.getLineCount();