我有一个TextView,它可以有几个不同的值,并且是运行时更新的(用Java代码)。
但是,我需要此TextView保留其中心点,以便在更新TextView中的文本时,它始终是居中对齐的。它应该以不是屏幕中心或其他任何东西的点为中心,因此仅设置重力无济于事。
由于它可能包含的值已经定义,我可以先尝试最长的值,将其置于正确的左上角位置并将其重力设置为居中。在这种情况下,每个较短的文本都应该正确。 但是,我想知道是否有更好的方法,对于事先不知道值的情况。
此TextView位于ImageView下方,它可以占据整个屏幕宽度(没有其他任何东西放置在其左侧或右侧)。
注意:我想每当文本发生变化时,每次都可以将它定位到新的X轴位置,但我认为这根本不是一个很好的解决方案。
答案 0 :(得分:0)
将android:layout_width
设置为match_parent
并将android:gravity
设置为center_horizontal
。
这样,View一直水平拉伸,内容(文本)将居中。如果内容发生变化,它仍然会居中。
许多人没有意识到的一件事是android:gravity
和android:layout_gravity
之间的区别。第一个定义内容本身的对齐,另一个定义自身相对于其父对齐。