Android Textview 向右移动

Android Textview is moved to right

这是我实际得到的结果:

如您所见,当前 HP 右侧的值向右移动,而不是像其他值一样靠近“当前 HP”文本视图。为什么?这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:background="@color/semiTrans"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/llHeader"
        android:layout_margin="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/text"
            android:layout_marginRight="5dp"
            app:srcCompat="@android:drawable/ic_dialog_info" />

        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:gravity="center_vertical|center_horizontal"
            android:text="CONTINUE INFO"
            android:textColor="#000"
            android:textSize="25sp" />


    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl2"
        android:layout_marginHorizontal="10dp"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/llHeader"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true">


        <TextView
            android:id="@+id/currentHp"
            android:textStyle="bold"
            android:layout_width="168dp"
            android:layout_height="wrap_content"
            android:text="Current HP: "
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/nextHp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/currentHp"
            android:text="Next +10HP: "
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/fullHp"
            android:textStyle="bold"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/nextHp"
            android:text="HP fully recovered: "
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/currentHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@+id/currentHp"
            android:layout_toRightOf="@+id/currentHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/nextHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/currentHp"
            android:layout_toEndOf="@+id/nextHp"
            android:layout_toRightOf="@+id/nextHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/fullHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/fullHp"
            android:layout_alignBottom="@+id/fullHp"
            android:layout_toEndOf="@+id/fullHp"
            android:layout_toRightOf="@+id/fullHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/tvAdditionalInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_below="@id/fullHp"
            android:textSize="18sp"
            android:layout_centerHorizontal="true"
            android:text="Additional info"/>

    </RelativeLayout>

    <Button
        android:id="@+id/dialogButtonOK"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rl2"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_marginHorizontal="10dp"
        android:layout_marginBottom="10dp"
        android:background="@drawable/button"
        android:text=" Ok " />

</RelativeLayout>

我试图通过将填充和边距设置为 0 来解决这个问题,但它没有用。我不知道我还应该补充什么。

我找到了解决办法。我需要设置 currentHp textview 宽度来包装内容。

您的当前 Hp 宽度为 168 dp。 出于这个原因,它会占据那个位置,然后显示您的文字。

因此,您已将 current Hp 的宽度设置为 wrap-content 。然后文本 a 将与其他文本保持一致。

您可以查看此代码来解决问题

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:layout_width="match_parent"
    android:background="@color/semiTrans"
    android:layout_height="match_parent">

    <RelativeLayout
        android:id="@+id/llHeader"
        android:layout_margin="10dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content">

        <ImageView
            android:id="@+id/image"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignLeft="@id/text"
            android:layout_marginRight="5dp"
            app:srcCompat="@android:drawable/ic_dialog_info" />

        <TextView
            android:id="@+id/text"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_alignParentTop="true"
            android:gravity="center_vertical|center_horizontal"
            android:text="CONTINUE INFO"
            android:textColor="#000"
            android:textSize="25sp" />


    </RelativeLayout>

    <RelativeLayout
        android:id="@+id/rl2"
        android:layout_marginHorizontal="10dp"
        android:layout_marginTop="20dp"
        android:layout_marginBottom="20dp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/llHeader"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true">


        <TextView
            android:id="@+id/currentHp"
            android:textStyle="bold"
            android:layout_width="168dp"
            android:layout_height="wrap_content"
            android:text="Current HP: "
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/nextHp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/currentHp"
            android:layout_marginEnd="62dp"
            android:layout_toStartOf="@+id/currentHpValue"
            android:text="Next +10HP: "
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/fullHp"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@+id/nextHp"
            android:layout_marginEnd="10dp"
            android:layout_toStartOf="@+id/currentHpValue"
            android:text="HP fully recovered: "
            android:textSize="18sp"
            android:textStyle="bold" />

        <TextView
            android:id="@+id/currentHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_toEndOf="@+id/currentHp"
            android:layout_toRightOf="@+id/currentHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/nextHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_below="@id/currentHp"
            android:layout_toEndOf="@+id/nextHp"
            android:layout_toRightOf="@+id/nextHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/fullHpValue"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBaseline="@+id/fullHp"
            android:layout_alignBottom="@+id/fullHp"
            android:layout_toEndOf="@+id/fullHp"
            android:layout_toRightOf="@+id/fullHp"
            android:text="a"
            android:textSize="18sp"/>

        <TextView
            android:id="@+id/tvAdditionalInfo"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="20dp"
            android:layout_below="@id/fullHp"
            android:textSize="18sp"
            android:layout_centerHorizontal="true"
            android:text="Additional info"/>

    </RelativeLayout>

    <Button
        android:id="@+id/dialogButtonOK"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/rl2"
        android:layout_alignParentStart="true"
        android:layout_alignParentLeft="true"
        android:layout_marginHorizontal="10dp"
        android:layout_marginBottom="10dp"
        android:background="@drawable/button"
        android:text=" Ok " />

</RelativeLayout>