Search in sources :

Example 1 with TruncateAt

use of android.text.TextUtils.TruncateAt in project android_frameworks_base by DirtyUnicorns.

the class TextView method encodeProperties.

/** @hide */
@Override
protected void encodeProperties(@NonNull ViewHierarchyEncoder stream) {
    super.encodeProperties(stream);
    TruncateAt ellipsize = getEllipsize();
    stream.addProperty("text:ellipsize", ellipsize == null ? null : ellipsize.name());
    stream.addProperty("text:textSize", getTextSize());
    stream.addProperty("text:scaledTextSize", getScaledTextSize());
    stream.addProperty("text:typefaceStyle", getTypefaceStyle());
    stream.addProperty("text:selectionStart", getSelectionStart());
    stream.addProperty("text:selectionEnd", getSelectionEnd());
    stream.addProperty("text:curTextColor", mCurTextColor);
    stream.addProperty("text:text", mText == null ? null : mText.toString());
    stream.addProperty("text:gravity", mGravity);
}
Also used : TruncateAt(android.text.TextUtils.TruncateAt)

Example 2 with TruncateAt

use of android.text.TextUtils.TruncateAt in project android_frameworks_base by ResurrectionRemix.

the class TextView method encodeProperties.

/** @hide */
@Override
protected void encodeProperties(@NonNull ViewHierarchyEncoder stream) {
    super.encodeProperties(stream);
    TruncateAt ellipsize = getEllipsize();
    stream.addProperty("text:ellipsize", ellipsize == null ? null : ellipsize.name());
    stream.addProperty("text:textSize", getTextSize());
    stream.addProperty("text:scaledTextSize", getScaledTextSize());
    stream.addProperty("text:typefaceStyle", getTypefaceStyle());
    stream.addProperty("text:selectionStart", getSelectionStart());
    stream.addProperty("text:selectionEnd", getSelectionEnd());
    stream.addProperty("text:curTextColor", mCurTextColor);
    stream.addProperty("text:text", mText == null ? null : mText.toString());
    stream.addProperty("text:gravity", mGravity);
}
Also used : TruncateAt(android.text.TextUtils.TruncateAt)

Example 3 with TruncateAt

use of android.text.TextUtils.TruncateAt in project android_frameworks_base by crdroidandroid.

the class TextView method encodeProperties.

/** @hide */
@Override
protected void encodeProperties(@NonNull ViewHierarchyEncoder stream) {
    super.encodeProperties(stream);
    TruncateAt ellipsize = getEllipsize();
    stream.addProperty("text:ellipsize", ellipsize == null ? null : ellipsize.name());
    stream.addProperty("text:textSize", getTextSize());
    stream.addProperty("text:scaledTextSize", getScaledTextSize());
    stream.addProperty("text:typefaceStyle", getTypefaceStyle());
    stream.addProperty("text:selectionStart", getSelectionStart());
    stream.addProperty("text:selectionEnd", getSelectionEnd());
    stream.addProperty("text:curTextColor", mCurTextColor);
    stream.addProperty("text:text", mText == null ? null : mText.toString());
    stream.addProperty("text:gravity", mGravity);
}
Also used : TruncateAt(android.text.TextUtils.TruncateAt)

Example 4 with TruncateAt

use of android.text.TextUtils.TruncateAt in project android_frameworks_base by ParanoidAndroid.

the class TextView method makeNewLayout.

/**
     * The width passed in is now the desired layout width,
     * not the full view width with padding.
     * {@hide}
     */
protected void makeNewLayout(int wantWidth, int hintWidth, BoringLayout.Metrics boring, BoringLayout.Metrics hintBoring, int ellipsisWidth, boolean bringIntoView) {
    stopMarquee();
    // Update "old" cached values
    mOldMaximum = mMaximum;
    mOldMaxMode = mMaxMode;
    mHighlightPathBogus = true;
    if (wantWidth < 0) {
        wantWidth = 0;
    }
    if (hintWidth < 0) {
        hintWidth = 0;
    }
    Layout.Alignment alignment = getLayoutAlignment();
    final boolean testDirChange = mSingleLine && mLayout != null && (alignment == Layout.Alignment.ALIGN_NORMAL || alignment == Layout.Alignment.ALIGN_OPPOSITE);
    int oldDir = 0;
    if (testDirChange)
        oldDir = mLayout.getParagraphDirection(0);
    boolean shouldEllipsize = mEllipsize != null && getKeyListener() == null;
    final boolean switchEllipsize = mEllipsize == TruncateAt.MARQUEE && mMarqueeFadeMode != MARQUEE_FADE_NORMAL;
    TruncateAt effectiveEllipsize = mEllipsize;
    if (mEllipsize == TruncateAt.MARQUEE && mMarqueeFadeMode == MARQUEE_FADE_SWITCH_SHOW_ELLIPSIS) {
        effectiveEllipsize = TruncateAt.END_SMALL;
    }
    if (mTextDir == null) {
        mTextDir = getTextDirectionHeuristic();
    }
    mLayout = makeSingleLayout(wantWidth, boring, ellipsisWidth, alignment, shouldEllipsize, effectiveEllipsize, effectiveEllipsize == mEllipsize);
    if (switchEllipsize) {
        TruncateAt oppositeEllipsize = effectiveEllipsize == TruncateAt.MARQUEE ? TruncateAt.END : TruncateAt.MARQUEE;
        mSavedMarqueeModeLayout = makeSingleLayout(wantWidth, boring, ellipsisWidth, alignment, shouldEllipsize, oppositeEllipsize, effectiveEllipsize != mEllipsize);
    }
    shouldEllipsize = mEllipsize != null;
    mHintLayout = null;
    if (mHint != null) {
        if (shouldEllipsize)
            hintWidth = wantWidth;
        if (hintBoring == UNKNOWN_BORING) {
            hintBoring = BoringLayout.isBoring(mHint, mTextPaint, mTextDir, mHintBoring);
            if (hintBoring != null) {
                mHintBoring = hintBoring;
            }
        }
        if (hintBoring != null) {
            if (hintBoring.width <= hintWidth && (!shouldEllipsize || hintBoring.width <= ellipsisWidth)) {
                if (mSavedHintLayout != null) {
                    mHintLayout = mSavedHintLayout.replaceOrMake(mHint, mTextPaint, hintWidth, alignment, mSpacingMult, mSpacingAdd, hintBoring, mIncludePad);
                } else {
                    mHintLayout = BoringLayout.make(mHint, mTextPaint, hintWidth, alignment, mSpacingMult, mSpacingAdd, hintBoring, mIncludePad);
                }
                mSavedHintLayout = (BoringLayout) mHintLayout;
            } else if (shouldEllipsize && hintBoring.width <= hintWidth) {
                if (mSavedHintLayout != null) {
                    mHintLayout = mSavedHintLayout.replaceOrMake(mHint, mTextPaint, hintWidth, alignment, mSpacingMult, mSpacingAdd, hintBoring, mIncludePad, mEllipsize, ellipsisWidth);
                } else {
                    mHintLayout = BoringLayout.make(mHint, mTextPaint, hintWidth, alignment, mSpacingMult, mSpacingAdd, hintBoring, mIncludePad, mEllipsize, ellipsisWidth);
                }
            } else if (shouldEllipsize) {
                mHintLayout = new StaticLayout(mHint, 0, mHint.length(), mTextPaint, hintWidth, alignment, mTextDir, mSpacingMult, mSpacingAdd, mIncludePad, mEllipsize, ellipsisWidth, mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE);
            } else {
                mHintLayout = new StaticLayout(mHint, mTextPaint, hintWidth, alignment, mTextDir, mSpacingMult, mSpacingAdd, mIncludePad);
            }
        } else if (shouldEllipsize) {
            mHintLayout = new StaticLayout(mHint, 0, mHint.length(), mTextPaint, hintWidth, alignment, mTextDir, mSpacingMult, mSpacingAdd, mIncludePad, mEllipsize, ellipsisWidth, mMaxMode == LINES ? mMaximum : Integer.MAX_VALUE);
        } else {
            mHintLayout = new StaticLayout(mHint, mTextPaint, hintWidth, alignment, mTextDir, mSpacingMult, mSpacingAdd, mIncludePad);
        }
    }
    if (bringIntoView || (testDirChange && oldDir != mLayout.getParagraphDirection(0))) {
        registerForPreDraw();
    }
    if (mEllipsize == TextUtils.TruncateAt.MARQUEE) {
        if (!compressText(ellipsisWidth)) {
            final int height = mLayoutParams.height;
            // start the marquee immediately
            if (height != LayoutParams.WRAP_CONTENT && height != LayoutParams.MATCH_PARENT) {
                startMarquee();
            } else {
                // Defer the start of the marquee until we know our width (see setFrame())
                mRestartMarquee = true;
            }
        }
    }
    // CursorControllers need a non-null mLayout
    if (mEditor != null)
        mEditor.prepareCursorControllers();
}
Also used : BoringLayout(android.text.BoringLayout) Layout(android.text.Layout) StaticLayout(android.text.StaticLayout) DynamicLayout(android.text.DynamicLayout) StaticLayout(android.text.StaticLayout) TextPaint(android.text.TextPaint) Paint(android.graphics.Paint) TruncateAt(android.text.TextUtils.TruncateAt)

Example 5 with TruncateAt

use of android.text.TextUtils.TruncateAt in project platform_frameworks_base by android.

the class TextView method encodeProperties.

/** @hide */
@Override
protected void encodeProperties(@NonNull ViewHierarchyEncoder stream) {
    super.encodeProperties(stream);
    TruncateAt ellipsize = getEllipsize();
    stream.addProperty("text:ellipsize", ellipsize == null ? null : ellipsize.name());
    stream.addProperty("text:textSize", getTextSize());
    stream.addProperty("text:scaledTextSize", getScaledTextSize());
    stream.addProperty("text:typefaceStyle", getTypefaceStyle());
    stream.addProperty("text:selectionStart", getSelectionStart());
    stream.addProperty("text:selectionEnd", getSelectionEnd());
    stream.addProperty("text:curTextColor", mCurTextColor);
    stream.addProperty("text:text", mText == null ? null : mText.toString());
    stream.addProperty("text:gravity", mGravity);
}
Also used : TruncateAt(android.text.TextUtils.TruncateAt)

Aggregations

TruncateAt (android.text.TextUtils.TruncateAt)12 Paint (android.graphics.Paint)7 BoringLayout (android.text.BoringLayout)7 DynamicLayout (android.text.DynamicLayout)7 Layout (android.text.Layout)7 StaticLayout (android.text.StaticLayout)7 TextPaint (android.text.TextPaint)7