Android之如何判断当前是阿拉伯布局的方法

1 问题

判断当前是不是阿拉伯布局的方法

2 几种判断方法

    @SuppressLint("NewApi")
    public static boolean isLayoutRtl(View view, Resources res) {
        if (res == null || view == null) 
            return false;
        Locale curLocale = res.getConfiguration().locale;
        //如果当前语言是ar(阿拉伯语言)或者fa 一定是阿拉伯布局
        if (curLocale != null) {
            Log.i(TAG, "curLocale is:" + curLocale.toString());
            //如果是ar语言,一定是阿语布局
            if ("ar".equals(curLocale.toString().trim()) || "fa".equals(curLocale.toString().trim())) {
                return true;
            }
        }
        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.JELLY_BEAN_MR1) {
            boolean firstResult = false, secondResult = false, thirdResult = false, fourResult = false;
            firstResult = TextUtils.getLayoutDirectionFromLocale(Locale.getDefault()) == View.LAYOUT_DIRECTION_RTL;
            secondResult = View.LAYOUT_DIRECTION_RTL == view.getLayoutDirection();
            thirdResult = res.getConfiguration().getLayoutDirection() == View.LAYOUT_DIRECTION_RTL;
            fourResult = TextUtilsCompat.getLayoutDirectionFromLocale(
                        res.getConfiguration().locale) == ViewCompat.LAYOUT_DIRECTION_RTL;
            return firstResult || secondResult || thirdResult || fourResult;
        } else {
            return false;
        }

    }
发布了1068 篇原创文章 · 获赞 674 · 访问量 300万+

猜你喜欢

转载自blog.csdn.net/u011068702/article/details/104999213