我知道这听起来很容易。我需要在中心放置一个文本,但是当文本太长时,它需要在下面,但仍然在我的xml的中心对齐。
这是我的代码:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showdescriptioncontenttitle"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_centerHorizontal="true"
>
<TextView
android:id="@+id/showdescriptiontitle"
android:text="Title"
android:textSize="35dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>
我把paddingTop和Bottom放在一边因为我需要一些空间。 PS:我的代码更大;它在RelativeLayout中。
答案 0 :(得分:352)
将android:gravity
中的TextView
参数设置为center
。
为了测试不同布局参数的效果,我建议为每个元素使用不同的背景颜色,这样您就可以看到布局如何随着重力,layout_gravity等参数而变化。
答案 1 :(得分:26)
使用这种方式
txt.setGravity(Gravity.CENTER);
答案 2 :(得分:17)
在xml中使用这种方式
<TextView
android:id="@+id/myText"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Time is precious, so love now."
android:gravity="center"
android:textSize="30dp"
android:textColor="#fff"
/>
答案 3 :(得分:6)
您可以使用以下内容:
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showdescriptioncontenttitle"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:id="@+id/textview1"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:gravity="center"
android:text="Your text"
android:typeface="serif" />
</LinearLayout>
布局需要相对于要使用的“center”属性。
答案 4 :(得分:4)
在TextView中添加android:gravity="center"
可以解决问题(父布局为Relative/Linear
)!
此外,您应该避免使用dp作为字体大小。改用sp。
答案 5 :(得分:3)
在TextView
上添加layout_gravity和gravity以及中心值<TextView
android:text="welcome text"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_gravity="center"
android:gravity="center"
/>
答案 6 :(得分:3)
只需添加这两行;
android:gravity="center_horizontal"
android:textAlignment="center"
答案 7 :(得分:0)
android:layout_gravity="center"
或
android:gravity="center"
都对我有用。
答案 8 :(得分:0)
或者检查一下,这将有助于一次对齐所有元素。
<LinearLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/showdescriptioncontenttitle"
android:paddingTop="10dp"
android:paddingBottom="10dp"
android:layout_gravity="center"
android:gravity="center_horizontal"
>
<TextView
android:id="@+id/showdescriptiontitle"
android:text="Title"
android:textSize="35dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>
</LinearLayout>