【问题标题】:Horizontally and Vertically center text for TextView in AndroidAndroid中TextView的水平和垂直居中文本
【发布时间】:2014-03-23 10:26:28
【问题描述】:

如何在 Android 中为 TextView 水平和垂直居中文本? 如何使 TextView 的对齐居中?

【问题讨论】:

    标签: android android-layout android-intent text textview


    【解决方案1】:

    这取决于您如何声明高度和宽度。如果你使用了 wrap_content,那么 textview 在那个方向上就足够大来容纳文本,所以重力属性将不适用。 android:gravity 影响文本在为 textview 分配的空间内的位置。 layout_xx 属性影响视图在其父视图中的位置。

    所以如果你设置了 textview 的大小,然后使用重力将文本定位在 textview 区域内,如果你使用了 wrap_content,那么使用 layout_xx 属性将 textview 定位在它的父级中

    【讨论】:

      【解决方案2】:

      在 xml 中为 textview 添加这个属性

      textview<android:height="yourheight"
      android:width="yourwidth"
      android:gravity="center">
      

      您的宽度尺寸应小于父容器的宽度尺寸

      【讨论】:

      • 完全同意..但是your width size should match the parent container's width size不是必需的。
      • 不完美..让我试试height and width must not be wrap-content or it must be greater than wrap-content
      • @user3315464 如果对您有帮助,请接受此答案...谢谢
      【解决方案3】:

      在线性布局中使用

      android:layout_gravity="center"
      

      在相对布局中

      android:layout_centerInParent="true"
      

      上面的代码将使textView在布局中居中 在 TextView 中使文本居中

      android:textAlignment="center"
      android:gravity="center"
      

      【讨论】:

      • 它以 TextView 为中心而不是其文本。