这是我需要实现的目标:

| TEXTVIEW1 | TEXTVIEW2 |按钮|

TV1可以根据需要增长,但只能占用显示文本的空间。如果文本大于其所占的空间,则它将省略。
TV2必须始终在TV1文本的右侧,并且必须显示其所有内容。它不能具有椭圆尺寸。它总是必须显示其文本。
TV1和2是单线。
按钮固定在屏幕右侧。

范例1:

TV1 =这是文本,文本太长
TV2 = 1923



|这是一个文本... 1923按钮|

范例2:

TV1 =仅此
TV2 = 1923



|仅此1923________按钮|

(忽略下划线)

我已经尝试了千种不同的权重,wrap_content等组合,但是仍然无法正确完成。

请帮助!

最佳答案

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

    <TextView
        android:id="@+id/tv1"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_weight="1"
        android:singleLine="true"*
        android:ellipsize"end" />

    <TextView
        android:id="@+id/tv2"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />

    <Button
        android:id="@+id/button"
        android:layout_width="wrap_content"
        android:layout_height="match_parent" />
</LinearLayout>


这是您实现所需配件所需要的尺寸。在这些xml属性之后,您可以添加要应用的任何其他样式,例如颜色或文本。我为单行加注了星标,因为这将阻止其垂直增长。如果即使文本小于屏幕,也希望文本连续对齐,请将android:gravity =“ right”仅添加到tv1。

08-25 16:54