微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

android.text.TextDirectionHeuristic的实例源码

项目:Tada    文件TextView.java   
TextDirectionHeuristic getTextDirectionHeuristic() {
    if (hasPasswordTransformationMethod()) {
        // passwords fields should be LTR
        return TextDirectionHeuristics.LTR;
    }

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

    // Now,we can select the heuristic
    switch (getTextDirection()) {
        default:
        case TEXT_DIRECTION_FirsT_STRONG:
            return (defaultIsRtl ? TextDirectionHeuristics.FirsTSTRONG_RTL :
                    TextDirectionHeuristics.FirsTSTRONG_LTR);
        case TEXT_DIRECTION_ANY_RTL:
            return TextDirectionHeuristics.ANYRTL_LTR;
        case TEXT_DIRECTION_LTR:
            return TextDirectionHeuristics.LTR;
        case TEXT_DIRECTION_RTL:
            return TextDirectionHeuristics.RTL;
        case TEXT_DIRECTION_LOCALE:
            return TextDirectionHeuristics.LOCALE;
    }
}
项目:airgram    文件StaticLayoutEx.java   
public static void init() {
    if (initialized) {
        return;
    }

    try {
        final Class<?> textDirClass;
        if (Build.VERSION.SDK_INT >= 18) {
            textDirClass = TextDirectionHeuristic.class;
            sTextDirection = TextDirectionHeuristics.FirsTSTRONG_LTR;
        } else {
            ClassLoader loader = StaticLayoutEx.class.getClassLoader();
            textDirClass = loader.loadClass(TEXT_DIR_CLASS);
            Class<?> textDirsClass = loader.loadClass(TEXT_Dirs_CLASS);
            sTextDirection = textDirsClass.getField(TEXT_DIR_FirsTSTRONG_LTR).get(textDirsClass);
        }

        final Class<?>[] signature = new Class[]{
                CharSequence.class,int.class,TextPaint.class,Layout.Alignment.class,textDirClass,float.class,boolean.class,TextUtils.TruncateAt.class,int.class
        };

        sConstructor = StaticLayout.class.getDeclaredConstructor(signature);
        sConstructor.setAccessible(true);
        sConstructorArgs = new Object[signature.length];
        initialized = true;
    } catch (Throwable e) {
        FileLog.e("tmessages",e);
    }
}
项目:PlusGram    文件StaticLayoutEx.java   
public static void init() {
    if (initialized) {
        return;
    }

    try {
        final Class<?> textDirClass;
        if (Build.VERSION.SDK_INT >= 18) {
            textDirClass = TextDirectionHeuristic.class;
            sTextDirection = TextDirectionHeuristics.FirsTSTRONG_LTR;
        } else {
            ClassLoader loader = StaticLayoutEx.class.getClassLoader();
            textDirClass = loader.loadClass(TEXT_DIR_CLASS);
            Class<?> textDirsClass = loader.loadClass(TEXT_Dirs_CLASS);
            sTextDirection = textDirsClass.getField(TEXT_DIR_FirsTSTRONG_LTR).get(textDirsClass);
        }

        final Class<?>[] signature = new Class[]{
                CharSequence.class,e);
    }
}
项目:edx-app-android    文件CustomTypefaceSpan.java   
@TargetApi(JELLY_BEAN_MR1)
@CheckResult
private boolean needMirroring() {
    if (!mirrorable) return false;

    // Passwords fields should be LTR
    if (view.getTransformationMethod() instanceof PasswordTransformationMethod) {
        return false;
    }

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

    if (SDK_INT < JELLY_BEAN_MR2) {
        return defaultIsRtl;
    }

    // Select the text direction heuristic according to the
    // package-private getTextDirectionHeuristic() method in TextView
    TextDirectionHeuristic textDirectionHeuristic;
    switch (view.getTextDirection()) {
        default:
        case TEXT_DIRECTION_FirsT_STRONG:
            textDirectionHeuristic = defaultIsRtl ?
                    TextDirectionHeuristics.FirsTSTRONG_RTL :
                    TextDirectionHeuristics.FirsTSTRONG_LTR;
            break;
        case TEXT_DIRECTION_ANY_RTL:
            textDirectionHeuristic = TextDirectionHeuristics.ANYRTL_LTR;
            break;
        case TEXT_DIRECTION_LTR:
            textDirectionHeuristic = TextDirectionHeuristics.LTR;
            break;
        case TEXT_DIRECTION_RTL:
            textDirectionHeuristic = TextDirectionHeuristics.RTL;
            break;
        case TEXT_DIRECTION_LOCALE:
            textDirectionHeuristic = TextDirectionHeuristics.LOCALE;
            break;
        case TEXT_DIRECTION_FirsT_STRONG_LTR:
            textDirectionHeuristic = TextDirectionHeuristics.FirsTSTRONG_LTR;
            break;
        case TEXT_DIRECTION_FirsT_STRONG_RTL:
            textDirectionHeuristic = TextDirectionHeuristics.FirsTSTRONG_RTL;
            break;
    }
    CharSequence text = view.getText();
    return textDirectionHeuristic.isRtl(text,text.length());
}
项目:Telegram    文件StaticLayoutEx.java   
public static void init() {
    if (initialized) {
        return;
    }

    try {
        final Class<?> textDirClass;
        if (Build.VERSION.SDK_INT >= 18) {
            textDirClass = TextDirectionHeuristic.class;
            sTextDirection = TextDirectionHeuristics.FirsTSTRONG_LTR;
        } else {
            ClassLoader loader = StaticLayoutEx.class.getClassLoader();
            textDirClass = loader.loadClass(TEXT_DIR_CLASS);
            Class<?> textDirsClass = loader.loadClass(TEXT_Dirs_CLASS);
            sTextDirection = textDirsClass.getField(TEXT_DIR_FirsTSTRONG_LTR).get(textDirsClass);
        }

        final Class<?>[] signature = new Class[]{
                CharSequence.class,int.class
        };

        sConstructor = StaticLayout.class.getDeclaredConstructor(signature);
        sConstructor.setAccessible(true);
        sConstructorArgs = new Object[signature.length];
        initialized = true;
    } catch (Throwable e) {
        FileLog.e(e);
    }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。