【问题标题】:Android: Placing a TextView centered around a specified position in XMLAndroid:在 XML 中以指定位置为中心放置一个 TextView
【发布时间】:2014-03-04 21:15:11
【问题描述】:

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

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

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

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

注意:我想也可以在每次更改文本时将其定位到新的 X 轴位置,但我认为这根本不是一个好的解决方案。

【问题讨论】:

    标签: android textview


    【解决方案1】:

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

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

    很多人没有意识到android:gravityandroid:layout_gravity 之间的区别。第一个定义自身内部内容的对齐方式,另一个定义自身相对于其父级的对齐方式。

    【讨论】:

    • 不幸的是,这没有帮助,因为它不是父视图的水平中心,文本应该居中。这是一个不同的点,可以是父布局的1/3,也可以是屏幕。所以我需要为 TextView 的中心指定一个点
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多