TextView 和 EditText 溢出

TextView and EditText overflow

我需要在一行中显示和显示 TextView(标签)、EditText(输入)和 TextView(后缀)。

我遇到的问题是 - 如果标签 TextView 太长,则 EditText 和 Suffix TextView 无法绘制。

这是我的代码。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content">
<TextView
    android:layout_weight="0"
    android:padding="5dp"
    android:text="Label"
    android:id="@+id/label_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

<EditText
    android:layout_weight="1"
    android:id="@+id/input_edit_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:textColorHint="@color/dark_grey"
    android:textColor="@color/black"
    android:hint="text.." />

<TextView
    android:padding="5dp"
    android:layout_weight="0"
    android:text="Suffix.."
    android:background="@color/lite_grey"
    android:id="@+id/suffix_text_view"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content" />

所以我想要的是 - 即使标签超过 2-3 行,一个 EditText 出现后跟另一个 TextView。

如有指点,将不胜感激。

谢谢!

编辑: 我添加了一些 'diagrams' 以便您可以更好地理解我想要做的事情。

EditText 的标签可以是任意长度(2/3 行),所以每当标签结束时,我希望 EditText 开始(后面跟着另一个显示后缀的 TextView..)

.. ![这显示了一个 2 行标签和 TextView..]

编辑 2: 感谢大家的回复!!我认为@questioner 真的理解我想做什么,即我希望您的 3 个视图移动到其他行,以便它们表现得就像它们是一个视图一样 - 正如他所建议的那样,我必须为此找到一个库!

为什么不使用 RelativeLayout 而不是 LinearLayout,然后使用 android:layout_below="@+id/..."android:layout_above="@+id/..." 以及 android:layout_toRightOf="@+id/..."android:layout_toLeftOf="@+id/..."

设置

android:layout_weight="1"

每个视图都占据相同数量的水平 space。

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_gravity="center_vertical"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:weightSum="1">

试试这个,或者请再扩展一点。

这个怎么样:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
          android:layout_gravity="center_vertical"
          android:layout_width="match_parent"
          android:layout_height="wrap_content">

<TextView
    android:padding="5dp"
    android:text="Label"
    android:id="@+id/label_text_view"
    android:layout_width="100dp"
    android:layout_gravity="center_vertical"
    android:layout_height="wrap_content"/>

<EditText
    android:layout_weight="1"
    android:id="@+id/input_edit_text"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_gravity="center_vertical"
    android:textColorHint="@color/dark_grey"
    android:textColor="@color/black"
    android:hint="text.."/>

<TextView
    android:padding="5dp"
    android:text="Suffix.."
    android:layout_gravity="center_vertical"
    android:background="@color/lite_grey"
    android:id="@+id/suffix_text_view"
    android:layout_width="100dp"
    android:layout_height="wrap_content"/>
</LinearLayout>

如果您希望您的 3 个视图移动到其他行,以便它们的行为就像它们是一个视图一样 - 您应该为此使用外部库。