TextView 中心重力不起作用

TextView Center Gravity not working

我已经尝试了所有我能想到的可能组合,但是我无法正确定位textview。这是问题的截图

从 A 符号的图像的第一行可以清楚地看出顶部的边距比底部的边距大。

这是行的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="wrap_content"
    android:background="#191e1e">

    <RelativeLayout
        android:id="@+id/client_initial_layout"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_centerVertical="true"

        android:layout_marginLeft="10dp"
        android:background="#1f97e5">
        <!--  android:layout_marginLeft="10dp"
          android:layout_marginRight="10dp"
          android:layout_marginTop="20dp"-->
        <TextView
            android:id="@+id/client_initial"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:layout_centerHorizontal="true"

            android:text="X"
            android:textColor="#ffffff"
            android:textSize="60sp" />
    </RelativeLayout>

    <LinearLayout
        android:id="@+id/lin_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:layout_toRightOf="@+id/client_initial_layout"
        android:orientation="vertical">

        <TextView
            android:id="@+id/Client_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Guest"
            android:textColor="#bcc3c4"
            android:textSize="16sp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_contacted"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Contacted:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/contacted"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text=" Username"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_product"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Product:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/product"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text=" Product Name"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_contact_type"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Contact Type:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/contact_type"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text=" Dispute"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/lin_created"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginTop="10dp">

            <TextView
                android:id="@+id/text_Created_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Created Date:-"
                android:textColor="#bcc3c4"
                android:textSize="8sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/request_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=" 2015-09-11-19:22:08"
                android:textColor="#bcc3c4"
                android:textSize="8sp"
                android:textStyle="bold" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="end"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="3dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="Request Date:-"
                    android:textColor="#bcc3c4"
                    android:textSize="8sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/create_date"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=" 2015-09-11"
                    android:textColor="#bcc3c4"
                    android:textSize="8sp"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>

    </LinearLayout>

</RelativeLayout>

我已经尝试所有与中心相关的对齐方式,但都没有效果。但是 xml 编辑器中显示的预览是完美的并且位于中心但当我 运行 应用程序并且我也没有从 java 代码

设置任何类型的边距时不是

像下面这样更改您的相对布局,它将起作用

 <RelativeLayout
        android:id="@+id/client_initial_layout"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_centerVertical="true"

        android:layout_marginLeft="10dp"
        android:background="#1f97e5">
        <!--  android:layout_marginLeft="10dp"
          android:layout_marginRight="10dp"
          android:layout_marginTop="20dp"-->
        <TextView
            android:id="@+id/client_initial"
            android:layout_width="70dp"
            android:layout_height="70dp"


       android:gravity="center"

            android:text="X"
            android:textColor="#ffffff"
            android:textSize="60sp" />
    </RelativeLayout>

希望这个回答对您有所帮助

更改为线性布局并稍作更改得到了这个结果,

<?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="wrap_content"
    android:background="#191e1e">

    <LinearLayout
        android:id="@+id/client_initial_layout"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_gravity="center"
        android:layout_marginLeft="10dp"
        android:layout_marginStart="10dp"
        android:background="#1f97e5"
        android:gravity="center">

        <TextView
            android:id="@+id/client_initial"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="X"
            android:textColor="#ffffff"
            android:textSize="60sp" />
    </LinearLayout>

    <LinearLayout
        android:id="@+id/lin_name"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="10dp"
        android:layout_marginTop="10dp"
        android:orientation="vertical">

        <TextView
            android:id="@+id/Client_name"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Guest"
            android:textColor="#bcc3c4"
            android:textSize="16sp" />

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_contacted"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Contacted:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/contacted"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text=" Username"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_product"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Product:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/product"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:gravity="center"
                android:text=" Product Name"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_marginTop="3dp">

            <TextView
                android:id="@+id/text_contact_type"
                android:layout_width="wrap_content"
                android:layout_height="match_parent"
                android:text="Contact Type:-"
                android:textColor="#797878"
                android:textSize="10sp" />

            <TextView
                android:id="@+id/contact_type"
                android:layout_width="match_parent"
                android:layout_height="wrap_content"
                android:text=" Dispute"
                android:textColor="#797878"
                android:textSize="10sp" />
        </LinearLayout>

        <LinearLayout
            android:id="@+id/lin_created"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_gravity="right"
            android:layout_marginTop="10dp">

            <TextView
                android:id="@+id/text_Created_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text="Created Date:-"
                android:textColor="#bcc3c4"
                android:textSize="8sp"
                android:textStyle="bold" />

            <TextView
                android:id="@+id/request_date"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:text=" 2015-09-11-19:22:08"
                android:textColor="#bcc3c4"
                android:textSize="8sp"
                android:textStyle="bold" />

            <LinearLayout
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="end"
                android:layout_marginBottom="10dp"
                android:layout_marginLeft="20dp"
                android:layout_marginTop="3dp">

                <TextView
                    android:layout_width="wrap_content"
                    android:layout_height="match_parent"
                    android:text="Request Date:-"
                    android:textColor="#bcc3c4"
                    android:textSize="8sp"
                    android:textStyle="bold" />

                <TextView
                    android:id="@+id/create_date"
                    android:layout_width="wrap_content"
                    android:layout_height="wrap_content"
                    android:text=" 2015-09-11"
                    android:textColor="#bcc3c4"
                    android:textSize="8sp"
                    android:textStyle="bold" />
            </LinearLayout>
        </LinearLayout>
    </LinearLayout>

</LinearLayout>

试试 centerVertical

<RelativeLayout
        android:id="@+id/client_initial_layout"
        android:layout_width="70dp"
        android:layout_height="70dp"
        android:layout_centerVertical="true"

        android:layout_marginLeft="10dp"
        android:background="#1f97e5">
        <!--  android:layout_marginLeft="10dp"
          android:layout_marginRight="10dp"
          android:layout_marginTop="20dp"-->
        <TextView
            android:id="@+id/client_initial"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:layout_centerHorizontal="true"
            android:layout_centerVertical="true"
            android:text="X"
            android:textColor="#ffffff"
            android:textSize="60sp" />
    </RelativeLayout>

使用它:

 <RelativeLayout
    android:id="@+id/client_initial_layout"
    android:layout_width="70dp"
    android:layout_height="70dp"
    android:layout_centerVertical="true"

    android:layout_marginLeft="10dp"
    android:background="#1f97e5">
    <!--  android:layout_marginLeft="10dp"
      android:layout_marginRight="10dp"
      android:layout_marginTop="20dp"-->
    <TextView
        android:id="@+id/client_initial"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"
        android:text="X"
        android:textColor="#ffffff"
        android:textSize="60sp" />
</RelativeLayout>

尝试使用下面的代码

说明:- 正如您定义的那样 width & height 因此您的布局不会在布局中心显示文本,因此您必须 layoutTextView 作为 wrap_content 并尝试将 padding 给你的 TextView 并且它应该工作!

<RelativeLayout
            android:id="@+id/client_initial_layout"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"


            android:layout_marginLeft="10dp"
            android:background="#1f97e5">

            <TextView
                android:id="@+id/client_initial"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerInParent="true"
                android:gravity="center"
                android:paddingLeft="20dp"
                android:paddingRight="20dp"

                android:text="A"
                android:textColor="#ffffff"
                android:textSize="60sp" />
        </RelativeLayout>