当 TextView 文本方向(或 Gravity)从 RTL 资源(如阿拉伯语文本)或 LTR 资源(如英语)获取文本时,它似乎会在 Android 中自动更改。什么是默认的 TextView 方向(或重力)以及如何获得它?
实际上,我想找出输入的是哪种文本语言(RTL 或 LTR)?如果它是 RTL 和 LTR 的混合文本呢?
最佳答案
在 TextView 源代码中,它被初始化为:
private int mGravity = Gravity.TOP | Gravity.START;
似乎是
Gravity.TOP
和 Gravity.START
。 Gravity START
独立于 LTR 或 RTL。所以获取它(你只知道它
Gravity.START
)对于你的目的来说是没有意义的——找出输入的文本语言(RTL 或 LTR)的类型。对于其他方法,您可以估计文本本身是 RTL 还是 LTR;此处讨论:例如 Identifyng RTL language in Android。