java - 无法使用RelativeLayout使TextView居中

标签 java android android-relativelayout

我的 TextView 有问题,我无法将其居中。它应该是这样的:enter image description here

实际上看起来是这样的
enter image description here

这是我的 XML 代码

   <?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:id="@+id/magnitudeTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_margin="10dp"
        android:textSize="15sp" />

    <TextView
        android:id="@+id/cityNameTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerHorizontal="true"
        android:layout_margin="10dp"
        android:textSize="15sp" />

    <TextView
        android:id="@+id/dateTV"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:layout_alignParentRight="true"
        android:layout_margin="10dp"
        android:textSize="15sp" />

</RelativeLayout>

最佳答案

使用具有水平方向的 LinearLayout 以及子文​​本 View 的 weightsum 3 将为您提供一个轻量且更可靠的解决方案,如下所示:

               <LinearLayout
                    android:layout_width="match_parent"
                    android:layout_height="match_parent"
                    android:weightSum="3"
                    android:orientation="horizontal">

                    <TextView
                        android:id="@+id/magnitudeTV"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_margin="10dp"
                        android:layout_weight="1"
                        android:text="test"
                        android:textSize="15sp" />

                    <TextView
                        android:id="@+id/cityNameTV"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:text="test"
                        android:gravity="center"
                        android:layout_weight="1"
                        android:layout_margin="10dp"
                        android:textSize="15sp" />

                    <TextView
                        android:id="@+id/dateTV"
                        android:layout_width="wrap_content"
                        android:layout_height="wrap_content"
                        android:layout_weight="1"
                        android:layout_margin="10dp"
                        android:textSize="15sp" />

                </LinearLayout>

现在,每个 TextView 将占据整个屏幕宽度的 1/3,如果您希望中间的 TextView 更大,您可以使用每个 TextView 中的 layout_weight 值以满足您所需的设计。

关于java - 无法使用RelativeLayout使TextView居中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56254407/

相关文章:

java - 如何编写 QueryBuilder 查询来清理 Cassandra 中的设置或列表值

java - 升级 Spring Security 破坏了一个项目

java - 如何解决错误: Only the original thread that created a view hierarchy can touch its views

java - 找不到参数的方法 compile() [com.android.support :cardview-v7:27. 0.2]

java - 从已编译的 apk 中恢复丢失的代码

java - 如何在 EditText 上设置默认值后显示 EditText 的提示? (安卓Java)

android - 在 Android 的 ImageView 中选择图像区域

android - 在 RelativeLayout > ontouch 中使用 ScrollView 的 fragment 不起作用

android - 操作栏未在 4.2.2 中显示

java - 如何在所有设备中使用相同的分辨率在 LibGdx 中获取触摸坐标?