首页 > 解决方案 > 将结束与元素开始相对布局对齐

问题描述

我希望我的一个文本框仅将内容包装到下一个文本框的开头。

现在截图:

在此处输入图像描述

以及我想要的方式:

在此处输入图像描述

我在想我可以设置宽度,但它不能在不同尺寸的屏幕上正确显示,我希望它在那里结束,所以如果内容超出该区域,我可以让它省略。

请帮忙!

布局:

<?xml version="1.0" encoding="utf-8"?>
<android.support.v7.widget.CardView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/cardView_item_assesment"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_margin="4dp"
android:clickable="true"
android:focusable="true"
app:cardCornerRadius="4dp"
app:cardElevation="4dp"
>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView
        android:id="@+id/textView_title"
        android:layout_width="285dp"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginStart="5dp"
        android:layout_marginTop="5dp"
        android:ellipsize="end"
        android:maxLines="1"
        android:scrollHorizontally="true"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="30sp"
        tools:text="PlaceHolder" />

    <TextView
        android:id="@+id/textView_date"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentEnd="true"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="15sp"
        android:layout_margin="5dp"
        tools:text="2018/09/02" />

    <TextView
        android:id="@+id/textView_time"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_date"
        android:layout_alignParentEnd="true"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="15sp"
        android:layout_margin="5dp"
        tools:text="09:00" />

    <TextView
        android:id="@+id/textView_total"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_toEndOf="@id/editText_achieved"
        android:layout_below="@+id/textView_title"
        android:textColor="@color/colorPrimaryDark"
        android:layout_alignBaseline="@id/editText_achieved"
        android:textSize="20sp"
        android:layout_margin="5dp"
        tools:text="Total: 100" />

    <android.support.v7.widget.AppCompatEditText
        android:id="@+id/editText_achieved"
        android:layout_width="130dp"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_title"
        android:maxLines="1"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="20sp"
        tools:text="Result: 50" />

    <TextView
        android:id="@+id/textView_contribution"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@+id/textView_total"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="20sp"
        android:layout_margin="5dp"
        tools:text="Weight: 25%"/>

    <TextView
        android:id="@+id/txtID"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:visibility="invisible" />

</RelativeLayout>

标签: androidandroid-layout

解决方案


添加:

android:layout_alignParentLeft="true"
android:layout_toLeftOf="@+id/textView_date"

并在您的第一个 TextView 中将宽度设置为 wrap_content

<TextView
        android:id="@+id/textView_title"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_marginBottom="5dp"
        android:layout_marginEnd="5dp"
        android:layout_marginLeft="5dp"
        android:layout_marginRight="5dp"
        android:layout_marginStart="5dp"
        android:layout_marginTop="5dp"
        android:layout_toLeftOf="@+id/textView_date"
        android:layout_alignParentLeft="true"
        android:ellipsize="end"
        android:maxLines="1"
        android:scrollHorizontally="true"
        android:textColor="@color/colorPrimaryDark"
        android:textSize="30sp"
        tools:text="PlaceHolder" />

结果


推荐阅读