当 TextView 文本方向(或 Gravity)从 RTL 资源(如阿拉伯语文本)或 LTR 资源(如英语)获取文本时,它似乎会在 Android 中自动更改。什么是默认的 TextView 方向(或重力)以及如何获得它?
实际上,我想找出输入的是哪种文本语言(RTL 或 LTR)?如果它是 RTL 和 LTR 的混合文本呢?

最佳答案



在 TextView 源代码中,它被初始化为:

private int mGravity = Gravity.TOP | Gravity.START;

似乎是 Gravity.TOPGravity.START 。 Gravity START 独立于 LTR 或 RTL。



所以获取它(你只知道它 Gravity.START )对于你的目的来说是没有意义的——找出输入的文本语言(RTL 或 LTR)的类型。

对于其他方法,您可以估计文本本身是 RTL 还是 LTR;此处讨论:例如 Identifyng RTL language in Android

10-08 17:15