繁体   English   中英

将文本中心与 android 对齐

[英]align text center with android

我知道这听起来很容易。 我需要将文本放在中心,但是当文本太长时,它需要在下面的 go 中,但仍然在我的 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:我的代码更大; 它在一个相对布局中。

还将TextView中的android:gravity参数设置为center

为了测试不同布局参数的效果,我建议为每个元素使用不同的背景颜色,这样你就可以看到你的布局如何随着重力、layout_gravity 或其他参数的变化而变化。

用这种方式

txt.setGravity(Gravity.CENTER);

在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"
        />

您可以使用以下内容:

<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>

布局需要是相对的,才能使用“中心”属性。

在 TextView 中添加android:gravity="center"就可以解决问题(父布局是Relative/Linear )!

此外,您应该避免使用 dp 作为字体大小。 请改用 sp。

只需添加这两行;

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

在 TextView 上添加带有中心​​值的 layout_gravity 和重力

<TextView
    android:text="welcome text"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_gravity="center"
    android:gravity="center"
    />
android:layout_gravity="center"

或者

android:gravity="center"

两者都对我有用。

或者检查一下,这将有助于一次对齐所有元素。

 <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>

如果要从 mainActivity.java 文件更改对齐方式,请使用重力。 例如:

chatMsg.setGravity(Gravity.RIGHT);

chatMsg 是我的文本视图。 我希望文本正确对齐,并且这段代码运行良好。

您可以通过添加这些行轻松完成此操作

android:layout_width="match_parent"
android:gravity="center"
android:textAlignment="center"

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM