默认情况下TextView Gravity是什么?

时间:2015-11-08 12:19:49

标签: android textview gravity text-alignment direction

当从RTL资源(如阿拉伯文本或LTR资源,如英语)获取文本时,似乎TextView文本方向(或Gravity)会自动更改。什么是默认的TextView方向(或Gravity)以及如何获得它? 实际上我正试图找出输入了什么样的文本语言(RTL或LTR)?如果它是RTL和LTR的混合文本怎么办?

3 个答案:

答案 0 :(得分:4)

如果您的布局中有TextView,则可以使用

来获取该视图的重力
TextView textView = (TextView) findViewById(R.id.text_view);
int gravity = textView.getGravity();

默认情况下,该值为8388659。 等于0x800033。

请参阅TextView here的文档。通过操作十六进制值,您可以获得TextView的默认文本方向。

例如:在这种情况下,它是0x800033。这是 0x800003 |的0x30 即可。这意味着重力是开始|顶

答案 1 :(得分:3)

  

默认的TextView方向(或重力)是什么

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

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

似乎Gravity.TOPGravity.START。重力 START 对于LTR或RTL是独立的。

  

以及如何获得

所以得到它(你只知道它Gravity.START)对你的目的是没有意义的 - 找出输入什么样的文本语言(RTL或LTR)。 / p>

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

答案 2 :(得分:1)

默认TextView引力是 - Gravity.TOP | Gravity.START