Android:在XML中以指定位置为中心放置TextView

时间:2014-03-04 13:08:20

标签: android textview

我有一个TextView,它可以有几个不同的值,并且是运行时更新的(用Java代码)。

但是,我需要此TextView保留其中心点,以便在更新TextView中的文本时,它始终是居中对齐的。它应该以不是屏幕中心或其他任何东西的点为中心,因此仅设置重力无济于事。

由于它可能包含的值已经定义,我可以先尝试最长的值,将其置于正确的左上角位置并将其重力设置为居中。在这种情况下,每个较短的文本都应该正确。 但是,我想知道是否有更好的方法,对于事先不知道值的情况。

此TextView位于ImageView下方,它可以占据整个屏幕宽度(没有其他任何东西放置在其左侧或右侧)。

注意:我想每当文本发生变化时,每次都可以将它定位到新的X轴位置,但我认为这根本不是一个很好的解决方案。

1 个答案:

答案 0 :(得分:0)

android:layout_width设置为match_parent并将android:gravity设置为center_horizontal

这样,View一直水平拉伸,内容(文本)将居中。如果内容发生变化,它仍然会居中。

许多人没有意识到的一件事是android:gravityandroid:layout_gravity之间的区别。第一个定义内容本身的对齐,另一个定义自身相对于其父对齐。