这是我需要实现的目标:
| 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。