问题
Possible Duplicate:
How do I center text horizontally and vertical in a TextView in Android?
I have a RelativeLayout
(before it was a LinerLayout
), that occupies all the screen and I want to put in the center of this Layout
, a TextView
. I try to do it with gravity = "center"
layout_gravity = "center"
and a few more, but it doesn't work.
Anybody knows how to center the TextView
in the middle of the screen?
EDIT
Ok, I think I explained badly. I think the TextView
is in the center, but what I want to center is the text in the TextView
. Can I do this?
回答1:
If your font size is big enough, it might look like it's not centered, because of the font padding.
Try using the already mentioned properties combined with android:includeFontPadding
, something like this:
android:gravity="center"
android:includeFontPadding="false"
回答2:
If you want to align contents of RelativeLayout in the center then you need to put android:gravity="center" in the RelativeLayout's properties. Below is a sample XML code for it along with its visual representation.
XML Code:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center"
android:background="@color/white">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="My Text View"
android:textColor="@color/black"
android:textSize="25dp"
android:textStyle="bold" />
</RelativeLayout>
Graphical Layout:

回答3:
Try android:layout_centerInParent="true"
or android:layout_centerHorizontal="true"
these apply to RelativeLayout
回答4:
You can also set the gravity="center" of its parent.
回答5:
Alternatively, taken from another post
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:gravity="center_vertical|center_horizontal"
android:text="@string/**yourtextstring**" />
回答6:
android:gravity="center"
works on RelativeLayouts only. So try
<TextView
android:id="@+id/title"
android:layout_width="fill_parent" <!--relative Layout-->
android:layout_height="wrap_content"
android:gravity="center"
android:text="Mint Payments"/>
回答7:
This should display in center of the screen with center aligned. If you want to text alignment, you may use android:gravity="right" or android:gravity="left"
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:orientation="horizontal">
<TextView
android:id="@+id/textView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true"
android:gravity="center"
android:text="This is some text" />
</RelativeLayout>
回答8:
<RelativeLayout
android:gravity="center"
android:layout_width="fill_parent"
android:layout_height="wrap_content" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Txt is aligned in Center" />
</RelativeLayout>
回答9:
use
android:gravity="center"
attribute for your TextView in layout_XML File.
来源:https://stackoverflow.com/questions/8887717/textview-in-the-center-of-the-screen