我怎样才能在同一行和屏幕的两端同时有 2 个文本视图
How can I have 2 textviews on the same line and at opposite ends of the screen at the same time
我目前正在开发一款在屏幕两端显示两个文本视图的应用程序。
这是预期的输出:
这在某些设备上确实有效,但在其他设备上它会创建一个新行并完全搞砸,或者只是像这样完全删除 22:
这是 xml 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="start">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_marginStart="410dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="22" />
</RelativeLayout>
左边的名字很好,但右边的号码总是乱七八糟。我认为它与 android:layout_marginStart="410dp"
有关,但我不确定我还能如何让 22 位于右侧并与名称在同一行。
是的,你是对的问题是:android:layout_marginStart="410dp"
。
我可以假设在某些设备上,设备屏幕宽度小于 410dp
。
如我所见,您正在使用 RelativeLayout
,只需在第二个 TextView
.
中添加属性:android:layout_alignParentEnd="true"
当然,删除这一行:android:layout_marginStart="410dp"
试试这个,使用 RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="22" />
或者我推荐(最适应)(P.S。对不起我的英语)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_weight="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="22" />
您可以使用 ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="James Lingard"
android:textColor="@color/black"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:text="22"
android:textColor="@color/black"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
结果
我目前正在开发一款在屏幕两端显示两个文本视图的应用程序。
这是预期的输出:
这在某些设备上确实有效,但在其他设备上它会创建一个新行并完全搞砸,或者只是像这样完全删除 22:
这是 xml 代码:
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:gravity="start">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_marginStart="410dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="22" />
</RelativeLayout>
左边的名字很好,但右边的号码总是乱七八糟。我认为它与 android:layout_marginStart="410dp"
有关,但我不确定我还能如何让 22 位于右侧并与名称在同一行。
是的,你是对的问题是:android:layout_marginStart="410dp"
。
我可以假设在某些设备上,设备屏幕宽度小于 410dp
。
如我所见,您正在使用 RelativeLayout
,只需在第二个 TextView
.
android:layout_alignParentEnd="true"
当然,删除这一行:android:layout_marginStart="410dp"
试试这个,使用 RelativeLayout
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:gravity="start"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="22" />
或者我推荐(最适应)(P.S。对不起我的英语)
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="wrap_content">
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:layout_weight="4"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="James Lingard" />
<TextView
android:textSize="13sp"
android:textColor="@color/black"
android:layout_alignParentEnd="true"
android:layout_marginTop="10dp"
android:layout_weight="1"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="22" />
您可以使用 ConstraintLayout
<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginStart="10dp"
android:layout_marginTop="10dp"
android:text="James Lingard"
android:textColor="@color/black"
android:textSize="13sp"
app:layout_constraintStart_toStartOf="parent"
app:layout_constraintTop_toTopOf="parent" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="10dp"
android:layout_marginEnd="10dp"
android:text="22"
android:textColor="@color/black"
android:textSize="13sp"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintTop_toTopOf="parent" />
</androidx.constraintlayout.widget.ConstraintLayout>
结果