我正在开发一个支持阿拉伯语和英语语言环境的应用程序。当用户在手机上设置了阿拉伯语时,edittexts输入方向应自动从左向右变为从右向左。这适用于除inputType设置为textPassword之外的所有edittexts。如果我将inputType更改为text,则方向会正确更改。否则,它仍然是从左到右。是否有任何理由可能发生这种情况或有任何解决方法?
谢谢。
答案 0 :(得分:0)
我修正了以下相同的问题:
将重力的默认值放在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);