关于android:如何在TextView中水平和垂直居中文本?

How do I center text horizontally and vertically in a TextView?

如何在TextView中水平和垂直居中文本,使其恰好位于AndroidTextView的中间?


我假设你正在使用XML布局。

1
2
3
4
5
6
<TextView  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="@string/**yourtextstring**"
/>

您也可以根据需要使用gravity center_verticalcenter_horizontal

并且正如@stealthcopter评论的那样
在java中:.setGravity(Gravity.CENTER);


1
android:gravity="center"

这样就可以了


您还可以使用以下命令动态设置它:

1
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);


1
android:layout_centerInParent="true"

当与RelativeLayout一起使用时,这适用于布局的高度和宽度。 width设置为wrap_content。


您也可以使用组合:

1
android:gravity="left|center"

然后,如果textview宽度大于"fill_parent",则文本仍将对齐到左侧(不是重心设置为"居中")。


应用重力:

1
2
TextView txtView = (TextView) findViewById(R.id.txtView);
txtView.setGravity(Gravity.CENTER_HORIZONTAL);

对于垂直:

1
txtView.setGravity(Gravity.CENTER_VERTICAL);

在XML中:

1
2
3
4
5
6
<TextView      
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:text="@string/Hello_World"        
/>

如果您正在使用TableLayout,请确保将TableRows的重力设置为居中。
否则它将无法工作。在我将TableRow的重力设置为中心之前,至少它不适用于我。

例如,像这样:

1
2
3
<TableRow android:id="@+id/tableRow2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:gravity="center">        
    <TextView android:text="@string/chf" android:id="@+id/tv_chf" android:layout_weight="2" android:layout_height="wrap_content" android:layout_width="fill_parent" android:gravity="center"></TextView>        
</TableRow>


有两种方法可以做到这一点。

XML代码中的第一个。您需要注意gravity属性。您还可以在图形编辑器中找到此属性;它可能比XML EDITOR更容易。

1
2
3
4
5
6
<TextView  
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:text="Your Text"
/>

对于您的特定场景,重力值将是:

1
center_vertical|center_horizontal

在图形编辑器中,您将找到所有可能的值,甚至可以查看其结果。


您需要设置TextView Gravity(中心水平和垂直中心),如下所示:

1
android:layout_centerHorizontal="true"

1
android:layout_centerVertical="true"

并动态使用:

1
2
textview.setGravity(Gravity.CENTER);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);


在我看来,

1
android:gravity="center"

比...更好

1
android:layout_centerInParent="true"

哪个好,

1
2
android:layout_centerHorizontal="true"
android:layout_centerVertical="true"

至少用于格式化文本。


对于线性布局:
在XML中使用这样的东西

1
2
3
4
5
6
7
<TextView  
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center_vertical|center_horizontal"
    android:text="Your Text goes here"
/>

要在运行时执行此操作,请在您的活动中使用此类内容

1
2
TextView textView1 =(TextView)findViewById(R.id.texView1);
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

对于相对布局:在XML中使用这样的东西

1
2
3
4
5
6
7
<TextView  
    android:id="@+id/textView1"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_centerInParent="true"
    android:text="Your Text goes here"
/>

要在运行时执行此操作,请在您的活动中使用此类内容

1
2
3
4
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);

在XML文件中使用。

布局文件

1
2
3
4
5
<TextView
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:gravity="center"
    android:text="@string/stringtext"/>

要么:

在Java类中使用它

1
2
TextView textView =(TextView)findViewById(R.id.texviewid);
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

用于相对布局

1
android:layout_centerInParent="true"

以及其他布局

1
android:gravity="center"

使用重力适用于TextView时,在API级别17中实现了另一种方法 -

1
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);

不知道差异,但它也有效。但仅适用于API级别17或更高级别。


如果TextView's高度和宽度wrap content,则TextView中的文本始终居中。但如果TextView's宽度match_parent且高度match_parentwrap_content,则必须编写以下代码:

对于RelativeLayout:

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Hello World" />

</RelativeLayout>

对于LinearLayout:

1
2
3
4
5
6
7
8
9
10
11
12
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Hello World" />

</LinearLayout>

RelativeLayout中,它会很好用。

另外还有Button以及其他任何可以添加的内容。

以下适用于我。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:background="#ff314859"
    android:paddingLeft="16dp"
    android:paddingRight="16dp">
    <TextView
        android:id="@+id/txt_logo"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="your text here"
        android:textSize="30dp"
        android:gravity="center"/>

        ...other button or anything else...

</RelativeLayout>

最简单的方法(令人惊讶的是,仅在评论中提到,因此我发布的答案)是:

1
textview.setGravity(Gravity.CENTER)

您只需将textview的gravity设置为CENTER即可。


如果您尝试将文本放在TableLay中的TableRow中心,以下是我实现此目的的方法:

1
2
3
4
5
6
7
8
9
10
11
12
<TableRow android:id="@+id/rowName"
          android:layout_width="wrap_content"
          android:layout_height="wrap_content"
          android:padding="5dip">
    <TextView android:id="@+id/lblSomeLabel"
              android:layout_width="fill_parent"
              android:layout_height="fill_parent"
              android:gravity="center"
              android:layout_width="0dp"
              android:layout_weight="100"
              android:text="Your Text Here" />
</TableRow>

这是我在我的应用程序中使用的答案。它在屏幕中央显示文本。

1
2
3
4
5
6
7
8
<TextView
    android:id="@+id/txtSubject"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:text="@string/subject"
    android:layout_margin="10dp"
    android:gravity="center"
    android:textAppearance="?android:attr/textAppearanceLarge" />

如果您使用相对布局:

1
2
3
4
5
  <TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/stringname"
    android:layout_centerInParent="true"/>

如果您使用的是LinearLayout

1
2
3
4
5
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/stringname"
    android:layout_gravity="center"/>

正如上面提到的许多答案都可以。

1
android:gravity="center"

如果你想垂直居中:

1
android:gravity="center_vertical"

或只是横向:

1
android:gravity="center_horizontal"

TextView的高度和宽度是包装内容,然后textview中的文本始终居中,然后使用以下内容在其父布局中设置中心:

1
2
3
4
5
6
7
8
9
10
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="Hello.."/>
</RelativeLayout>

对于LinearLayout,代码也是一样的:

1
2
3
4
5
6
7
8
9
10
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello.."/>
</LinearLayout>

和pro-grammatically parent是RelativeLayout java代码,这在运行时在你的活动中使用这样的东西

1
2
3
4
TextView textView1 =(TextView)findViewById(R.id.texView1);
RelativeLayout.LayoutParams layoutParams = RelativeLayout.LayoutParams)textView1.getLayoutParams();
layoutParams.addRule(RelativeLayout.CENTER_IN_PARENT, RelativeLayout.TRUE);
textView1.setLayoutParams(layoutParams);

我们可以通过以下多种方式实现这一目标: -

XML method 01

1
2
3
4
5
6
7
<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:gravity="center_vertical|center_horizontal"
    android:text="@strings/text"
/>

XML method 02

1
2
3
4
5
6
7
8
<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_centerVertical="true"
    android:text="@strings/text"
/>

XML method 03

1
2
3
4
5
6
7
<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:gravity="center"
    android:text="@strings/text"
/>

XML method 04

1
2
3
4
5
6
7
<TextView  
    android:id="@+id/textView"
    android:layout_height="match_parent"
    android:layout_width="wrap_content"
    android:layout_centerInParent="true"
    android:text="@strings/text"
/>

Java method 01

1
textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

Java method 02

1
textview.setGravity(Gravity.CENTER);

Java method 03

1
textView.setTextAlignment(View.TEXT_ALIGNMENT_CENTER);


您可以这样做以使文本居中

1
2
3
4
<TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:gravity="center" />

只需在XML文件中,将textview gravity设置为center:

1
2
<TextView
    android:gravity="center" />

TextView重力根据您的父布局工作。

LinearLayout中:

如果您使用LinearLayout,那么您将找到两个重力属性
android:gravity&amp;机器人:layout_gravity

android:gravity:表示TextView内部文本的布局部分
android:layout_gravity:表示父视图中的TextView位置。

enter image description here

如果你想水平设置文字&amp;垂直居中然后使用下面的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="300dp"
    android:background="@android:color/background_light"
    android:layout_height="300dp">

    <TextView
        android:layout_width="match_parent"
        android:text="Hello World!"
        android:gravity="center_horizontal"
        android:layout_gravity="center_vertical"
        android:layout_height="wrap_content"
    />
</LinearLayout>

RelativeLayout的:

使用RelativeLayout,您可以在TextView中使用以下属性

android:gravity ="center"用于TextView中的文本中心。

android:gravity ="center_horizo??ntal"内部文本,如果你想水平居中。

android:gravity ="center_vertical"内部文本,如果你想垂直居中。

android:layout_centerInParent ="true"如果您希望TextView位于父视图的中心位置。
android:layout_centerHorizo??ntal ="true"如果希望TextView位于父视图的水平中心。
android:layout_centerVertical ="true"如果你希望TextView在父视图的垂直中心。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="300dp"
    android:background="@android:color/background_light"
    android:layout_height="300dp">

    <TextView
        android:layout_width="match_parent"
        android:text="Hello World!"
        android:gravity="center"
        android:layout_centerInParent="true"
        android:layout_height="wrap_content"
    />
</RelativeLayout>


试试这种方式,它会起作用

1
2
3
4
5
6
7
8
9
10
11
12
<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:gravity="center_horizontal|center_vertical">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAlignment="center" />

</LinearLayout>

android:gravity="center_horizontal"用于水平对齐文本中心。
android:gravity="center_vertical"用于垂直对齐文本中心。
android:gravity="center"用于垂直和水平对齐文本中心。

1
2
3
4
<TextView
        android:layout_width="match_parent"
        android:gravity="center_horizontal|center_vertical"
        android:layout_height="match_parent" />

我不认为,你真的需要这样做,只需在布局文件中定义你的TextView

1
2
3
4
5
6
7
8
9
10
<RelativeLayout
    android:layout_width="width"
    android:layout_height="height">
    <TextView
        android:id="@+id/yourid"
        android:layout_centerInParent="true"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Your text" />
</RelativeLayout>

使用xml中的以下代码,它可以帮助我改变它在中心的方向

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<LinearLayout
        android:layout_width="match_parent"
        android:orientation="horizontal"
        android:background="@color/colorPrimaryDark"
        android:gravity="center"
        android:layout_height="wrap_content">
        <TextView
            android:id="@+id/id_text"
            android:layout_width="wrap_content"
            android:textSize="18sp"
            android:textColor="@android:color/white"
            android:textStyle="normal"
            android:layout_height="wrap_content"
            android:text="centre me"/>
    </LinearLayout>

1
2
3
4
5
<TextView  
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="center"
android:text="In the center"/>

以上是使用.xml文件设置它。

但我更喜欢java版本,因为如果需要,你也可以在运行状态下禁用代码。以下是java代码。

1
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

你试过这种方式吗?

1
2
3
4
<TextView
android:id="+@id/txtVw"
android:gravity="center"
/>

1
2
3
4
5
6
<TextView
android:id="+@id/textView"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center"
/>


使用android:textAlignment="center"

>
</p>
<div class=

1
2
3
4
5
6
7
8
9
       <TextView
        android:text="HOW WAS
YOUR
DAY?"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAlignment="center"
        android:id="@+id/textView5"
         />


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
 <android.support.constraint.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    xmlns:app="http://schemas.android.com/apk/res-auto">


       <TextView
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="HELLO"
            android:textColor="@color/colorPrimaryDark"
            app:layout_constraintEnd_toEndOf="parent"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintBottom_toBottomOf="parent"/>

 </android.support.constraint.ConstraintLayout>

center text

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout
        android:layout_width="match_parent"
        android:orientation="vertical"
        android:gravity="center"
        android:layout_height="wrap_content">
    <TextView
            android:id="@+id/failresults"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp"
            android:gravity="center_vertical|center_horizontal"
            android:text=""
            android:textSize="12sp" />
</LinearLayout>

如果你在linearlayout中有textview,你需要将它们设置为重心到中心


Via。xml文件重力可以设置为如下中心

1
2
3
4
5
6
<TextView  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
    android:text="In the center"
/>

通过java以下是您解决特定问题的方法

1
textView1.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

将布局文件中的gravity属性设置为
android:gravity="center"


如果您使用的是RelativeLayout,请尝试在TextView标记内使用此属性:

1
android:layout_centerInParent= true


使用android:gravity="center"解决您的问题。


试试这个 :

1
2
3
4
5
<TextView  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"
/>

如果要创建文本视图宽度和高度以包装内容,则必须根据父支持的属性通过布局重力管理它的位置。否则你可以做到。

1
2
3
4
<TextView  
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center"/>

你必须像这样设置Gravity:

1
(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);


我们在屏幕上说Full Textview

1
2
3
4
5
6
 <TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:text="Hello World!"
    android:gravity="center"
    />

让我们说相对布局中的Textview(不完整)

1
2
3
4
5
6
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:layout_centerInParent=true
    />

让我们说Linear_layout中的Textview(不完整)

1
2
3
4
5
6
<TextView
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Hello World!"
    android:layout_gravity="centre"
    />

您可以将重力设置为居中垂直,将文本对齐设置为居中。

1
2
3
4
5
6
<TextView
     android:text="@string/yourText"
     android layout_height="wrap_content"
     android layout_height="wrap_content"
     android:gravity="center_vertical"
     android:textAlignment="center" />

如果您的XML文件中只有一个TextView,那么您可以将父视图重力作为中心。
这将使您的子元素位于屏幕的中心,然后您可以将您的子视图作为高度和宽度的包装。


Textview的宽度和高度应该是match_parent,并在textview属性中添加android:gravity ="center"。


试试这个:

Using LinearLayout if you are using textview height and width match_parent You can set the gravity text to center and text alignment to center text horizontal if you are using textview height and width wrap_content then add gravity center attribute in your LinearLayout.

XML代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">

<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:textAlignment="center"
    android:gravity="center"
    android:textColor="#000"
    android:textSize="30sp"
    android:text="Welcome to Android" />
    </LinearLayout>

Java代码

You can programatically do like this:-

1
(textView.setGravity(Gravity.CENTER_VERTICAL | Gravity.CENTER_HORIZONTAL);

谢谢


试试这个:

1
2
3
4
<TextView
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:gravity="center" />

您可以使用以下命令以编程方式在java中执行此操作:textview.setGravity(Gravity.CENTER);


您可以为此更改android:gravity

android:gravity="center"

如果你想要水平或垂直居中

android:gravity="center_horizontal"

android:gravity="center_vertical"


这是解决方案。

1
2
3
4
5
<TextView  
       android:layout_width="match_parent"
       android:layout_height="match_parent"
       android:gravity="center"
       android:text="**Your String Value**" />

1
2
3
4
5
6
7
8
9
10
11
12
There are 2 ways to do this :

1. From Xml
     use :  
        <TextView
         .........
        android:gravity="center"/>

2. From Java class
    use :

     [textview].setGravity(Gravity.CENTER);


使用TextView中的"重力属性"将文本垂直和水平居中。

1
android:gravity="center"

1
2
3
4
5
6
7
8
<TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textSize="25dp"
        android:textStyle="bold"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="Tours"
        android:id="@+id/textView" />

How to center a view or its content e.g. TextView or Button
horizontally and vertically? layout_gravity can be used to position a
view in the center of its parent. While gravity attribute is used to
position view’s content e.g."text" in the center of the view.

(1)水平居中TextView

enter image description here

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
       android:orientation="vertical"
       android:layout_margin="10dp"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_gravity="center"
        android:background="#333"
        android:textColor="#fff"
        />

</LinearLayout>

(2)垂直居中TextView

android:layout_gravity="center_vertical" dose not work!!

要垂直居中TextView,您需要制作一个技巧。将TextView放在RelativeLayout中,然后设置TextView属性android:layout_centerInParent ="true"
enter image description here

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
       android:orientation="vertical"
       android:layout_margin="10dp"
    tools:context=".MainActivity">

    <TextView
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:text="Hello World!"
        android:layout_centerInParent="true"
        android:layout_gravity="center_vertical"
        android:gravity="center"
        android:background="#333"
        android:textColor="#fff"
        />

</RelativeLayout>

(3)水平居中文本

android:gravity="center_horizontal"

enter image description here

(4)中心文字水平&amp;垂直

android:gravity="center" this will center the text horizontally and
vertically

enter image description here

1
2
3
4
5
6
7
8
<TextView
    android:layout_width="fill_parent"
    android:layout_height="100dp"
    android:text="Hello World!"
    android:gravity="center"
    android:background="#333"
    android:textColor="#fff"
    />

在ConstraintLayout中的任何视图:

(当您使用约束布局时,将height&amp; width设置为0,并让约束来管理视图边界。)

1
2
3
4
5
6
7
<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

我添加了xml片段,以便在线性和相对布局中对齐textview中心。

在线性布局中

1
2
3
4
5
6
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Text In Center"
android:layout_gravity="center"
android:gravity="center"/>

在相对布局中

1
2
3
4
5
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="Text In Center"
android:layout_centerInParent= true/>

如果TextView没有将高度/宽度属性设置为wrap_content,则只需使用android:gravity="center"。但有些人抱怨使用它不起作用。那是因为他们的布局没有相同的引力。你可以设置

android:layout_gravity="center"在TEXTVIEW中(这仅适用于TextView)

要么

android:gravity="center"在父母布局中(这将适用于其中的所有观点)


您可以使用android:gravity ="center"将文本视图居中

代码如下

1
2
3
4
5
    <TextView
     android:text="@string/yourText"
     android layout_height="wrap_content"
     android layout_height="wrap_content"
     android:gravity="center" />

对于那些想知道如何在TextView元素中垂直居中而同时将其保持在左侧(水平)的人:

1
2
android:gravity="center"
android:textAlignment="viewStart"


使用android:gravity ="center"到父级

1
2
3
4
5
6
7
8
9
10
11
12
13
<LinearLayout
    android:layout_width="200dp"
    android:layout_height="200dp"

    android:gravity="center"
    >
    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Hello world"
        />
</LinearLayout>

1
android:gravity="centre"

这有助于您将textview集中在一起。