有两个TextView并排,第一个拉伸和限制,第二个固定

时间:2011-05-02 17:46:12

标签: android android-layout

我一直试图获得某种布局,但我的所有尝试都失败了。

我在有限的空间内有2个textviews。只要有空间展示两者,我希望他们一个接一个地展示:

| T1 T2222          |
| T111111 T2222     |

但是当空间不足时,我只希望第一个被椭化或以其他方式切割,例如:

| T1111111... T2222 |

它们可能有所帮助 - 或者不是 - 两者都应该有1行。

第二个宽度可以修复也许有用 - 或者不是。

  • 我已经在Two TextViews side by side, only one to ellipsize?尝试了这些想法,但是这种情况与我的有所不同,因为他们的T2意味着锚定在右边,而我希望T2只跟随T1。

  • 我已经尝试为T2指定一个minWidth,但它似乎没有被尊重;普通宽度,但我似乎无法控制T1的行为。

  • 我已经涉足了重量,但没有找到能解决问题的方法。但这可能是我的经验不足。

  • 我可以为T1指定一个maxWidth,并且很荣幸它可能会按照我的意愿行事,但问题是有限空间的整个宽度未指定。

此时我开始认为没有办法去做 - 除非以编程方式,这是我想避免的路线。

感谢您提出任何建议。

1 个答案:

答案 0 :(得分:6)

连接两个字符串并将结果放入TextView ellipsize="middle"设置工作的单个| T1 T2222 | | T111111 T2222 | | T1111111... T2222 | 中?

或者布局,第二个textview是否与右边对齐?

RelativeLayout

<强>更新
利用第二个文本视图宽度可以修复的功能,下面的<?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:gravity="fill"> <TextView android:id="@+id/secondText" android:layout_width="60dp" android:layout_height="wrap_content" android:singleLine="true" android:layout_alignParentRight="true" /> <TextView android:id="@+id/dynamicText" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginRight="5dp" android:layout_toLeftOf="@id/secondText" android:singleLine="true" android:ellipsize="end" /> </RelativeLayout> 可以使用所需的布局(通过将第二个视图的宽度显式设置为60dp):

| T1 T2222          |
| T111111 T2222     |
| T1111111... T2222 |

上面的代码生成以下布局:

TextViews

两个{{1}}之间的宽度为5dp。