我的布局如下:
<TextView
android:id="@+id/display_city"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_above="@+id/pollenType"
android:layout_alignParentBottom="true"
android:layout_alignParentRight="true"
android:layout_below="@+id/get_pollen_index"
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"
android:layout_marginTop="51dp"
android:textSize="40sp" />
正如您所知,Philadelphia, PA
是左对齐的。无论我改变什么,无论是水平居中还是垂直居中,它都保持左对齐。
我尝试通过XML和图形用户界面更改布局。在图形用户界面中,它确实是“居中的”,但它仍然是非居中的。我的布局位置在我的所有文本视图中都是一致的,所以我不确定为什么这个特定的TextView没有居中。
答案 0 :(得分:2)
两个选项......
一个:提供TextView android:layout_width="wrap_content"
二:保留android:layout_width="match_parent"
并使用android:gravity="center_horizontal"
layout_gravity
定义其父级视图的重力。由于match_parent
,您的textView已经占据了整个宽度,因此将其水平居中放在其父级内部不会做任何事情。
gravity
定义了内容的重力。
答案 1 :(得分:0)
您告诉display_city
TextView与屏幕一样宽。
android:layout_width="match_parent"
但是,默认情况下,其文本左对齐。这就是为什么它看起来像这样。
您有两种选择:
match_parent
并将文本置于TextView内(使用gravity
)。wrap_content
,并将视图置于其父级内(使用layout_gravity
)。答案 2 :(得分:0)
您可以使用gravity xml属性将文本居中:
android:gravity="center"
答案 3 :(得分:0)
您的宽度等于match_parent
,因此TextView
的边缘已经触及父视图的边缘。您应该将TextView
中的文字置于android:gravity="center"
。{/ p>中心