Android editText密码输入方向不正确



我正在开发一个支持阿拉伯语和英语语言环境的应用程序。当用户在手机上设置了阿拉伯语时,编辑文本的输入方向应自动从左到右,从右到左。这适用于除inputType设置为textPassword之外的所有编辑文本。如果将inputType更改为text,则方向将正确更改。否则,它将保持从左到右。发生这种情况有什么原因吗?或者有什么解决办法吗?

谢谢。

我修复了如下相同的问题:

在xml:中设置重力的默认值

gravity = "left|start"

然后从代码中检查您的应用程序是否在RTL中运行,如果是,请将文本方向更改为RTL:

public static boolean isRTL(Locale locale) {
    final int directionality = Character.getDirectionality(locale.getDisplayName().charAt(0));
    return directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT ||
            directionality == Character.DIRECTIONALITY_RIGHT_TO_LEFT_ARABIC;
}

if (isRTL())
        mPasswordTV.setTextDirection(View.TEXT_DIRECTION_RTL);

最新更新