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>
这是我实际得到的结果:
如您所见,当前 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>