Example usage for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_RTL

List of usage examples for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_RTL

Introduction

In this page you can find the example usage for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_RTL.

Prototype

TextDirectionHeuristicCompat FIRSTSTRONG_RTL

To view the source code for android.support.v4.text TextDirectionHeuristicsCompat FIRSTSTRONG_RTL.

Click Source Link

Usage

From source file:com.lamcreations.scaffold.common.utils.CollapsingTextHelper.java

private boolean calculateIsRtl(CharSequence text) {
    boolean defaultIsRtl = ViewCompat.getLayoutDirection(this.mView) == ViewCompat.LAYOUT_DIRECTION_RTL;
    return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
            : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR).isRtl(text, 0, text.length());
}

From source file:com.bitflake.counter.HorizontalPicker.java

private TextDirectionHeuristicCompat getTextDirectionHeuristic() {

    if (Build.VERSION.SDK_INT < Build.VERSION_CODES.JELLY_BEAN_MR1) {

        return TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR;

    } else {//from ww w.j  a v a  2s .  co m

        // Always need to resolve layout direction first
        final boolean defaultIsRtl = (getLayoutDirection() == LAYOUT_DIRECTION_RTL);

        switch (getTextDirection()) {
        default:
        case TEXT_DIRECTION_FIRST_STRONG:
            return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
                    : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
        case TEXT_DIRECTION_ANY_RTL:
            return TextDirectionHeuristicsCompat.ANYRTL_LTR;
        case TEXT_DIRECTION_LTR:
            return TextDirectionHeuristicsCompat.LTR;
        case TEXT_DIRECTION_RTL:
            return TextDirectionHeuristicsCompat.RTL;
        case TEXT_DIRECTION_LOCALE:
            return TextDirectionHeuristicsCompat.LOCALE;
        }
    }
}

From source file:android.support.design.widget.CollapsingTextHelper.java

private boolean calculateIsRtl(CharSequence text) {
    final boolean defaultIsRtl = ViewCompat.getLayoutDirection(mView) == ViewCompat.LAYOUT_DIRECTION_RTL;
    return (defaultIsRtl ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
            : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR).isRtl(text, 0, text.length());
}

From source file:com.facebook.litho.widget.TextSpec.java

private static Layout createTextLayout(int widthSpec, TruncateAt ellipsize, boolean shouldIncludeFontPadding,
        int maxLines, float shadowRadius, float shadowDx, float shadowDy, int shadowColor, boolean isSingleLine,
        CharSequence text, int textColor, ColorStateList textColorStateList, int linkColor, int textSize,
        float extraSpacing, float spacingMultiplier, int textStyle, Typeface typeface, Alignment textAlignment,
        boolean glyphWarming, YogaDirection layoutDirection, int minEms, int maxEms, int minWidth, int maxWidth,
        TextDirectionHeuristicCompat textDirection) {
    Layout newLayout;/*  ww  w  .java 2s  .c om*/

    TextLayoutBuilder layoutBuilder = sTextLayoutBuilderPool.acquire();
    if (layoutBuilder == null) {
        layoutBuilder = new TextLayoutBuilder();
        layoutBuilder.setShouldCacheLayout(false);
    }

    final @TextLayoutBuilder.MeasureMode int textMeasureMode;
    switch (SizeSpec.getMode(widthSpec)) {
    case UNSPECIFIED:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_UNSPECIFIED;
        break;
    case EXACTLY:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_EXACTLY;
        break;
    case AT_MOST:
        textMeasureMode = TextLayoutBuilder.MEASURE_MODE_AT_MOST;
        break;
    default:
        throw new IllegalStateException("Unexpected size mode: " + SizeSpec.getMode(widthSpec));
    }

    layoutBuilder.setEllipsize(ellipsize).setMaxLines(maxLines)
            .setShadowLayer(shadowRadius, shadowDx, shadowDy, shadowColor).setSingleLine(isSingleLine)
            .setText(text).setTextSize(textSize).setWidth(SizeSpec.getSize(widthSpec), textMeasureMode);

    if (minEms != DEFAULT_EMS) {
        layoutBuilder.setMinEms(minEms);
    } else {
        layoutBuilder.setMinWidth(minWidth);
    }

    if (maxEms != DEFAULT_EMS) {
        layoutBuilder.setMaxEms(maxEms);
    } else {
        layoutBuilder.setMaxWidth(maxWidth);
    }

    if (textColor != 0) {
        layoutBuilder.setTextColor(textColor);
    } else {
        layoutBuilder.setTextColor(textColorStateList);
    }

    if (typeface != DEFAULT_TYPEFACE) {
        layoutBuilder.setTypeface(typeface);
    } else {
        layoutBuilder.setTextStyle(textStyle);
    }

    if (textDirection != null) {
        layoutBuilder.setTextDirection(textDirection);
    } else {
        layoutBuilder.setTextDirection(
                layoutDirection == YogaDirection.RTL ? TextDirectionHeuristicsCompat.FIRSTSTRONG_RTL
                        : TextDirectionHeuristicsCompat.FIRSTSTRONG_LTR);
    }

    layoutBuilder.setIncludeFontPadding(shouldIncludeFontPadding);
    layoutBuilder.setTextSpacingExtra(extraSpacing);
    layoutBuilder.setTextSpacingMultiplier(spacingMultiplier);
    layoutBuilder.setAlignment(textAlignment);
    layoutBuilder.setLinkColor(linkColor);

    newLayout = layoutBuilder.build();

    layoutBuilder.setText(null);
    sTextLayoutBuilderPool.release(layoutBuilder);

    if (glyphWarming && !isEligibleForCreatingDisplayLists()) {
        GlyphWarmer.getInstance().warmLayout(newLayout);
    }

    return newLayout;
}