并排有两个TextView,第一个伸展和限制,第二个固定
问题描述:
我一直试图获得一定的布局,但所有的尝试都失败了。并排有两个TextView,第一个伸展和限制,第二个固定
我在有限的空间内有2个textview。只要有空间同时显示,我希望他们能够显示一个接一个:
| T1 T2222 |
| T111111 T2222 |
但是,当空间不足的情况,我想只有第一个获得ellipsized或以其他方式切割,比如这个:
| T1111111... T2222 |
它可能有帮助 - 或不 - 这两个都只应该有1行。
它可以帮助 - 或不 - - 第二个宽度可以修复。
我已经试过想法在Two TextViews side by side, only one to ellipsize?,但这种情况下,我的不同,因为他们的T2是指在合适的锚,而我想有T2只要按照T1。
我已经试过为T2指定一个minWidth,但它似乎并没有兑现;普通宽度是,但我似乎无法控制T1的行为。
我已经涉足重量,但没有发现任何可以解决问题的东西。但那可能是我的经验不足。
我可以为T1指定一个maxWidth,它可以按照我希望的方式进行操作,但问题是有限空间的整个宽度是未指定的。
在这一点上,我开始认为没有办法做到这一点 - 除非编程方式,这是我想避免的路线。
谢谢你的任何建议。
答
将连接两个字符串并将结果放入单个TextView
与ellipsize="middle"
设置工作?
或者一个布局,第二个textview与右边对齐?
| T1 T2222 |
| T111111 T2222 |
| T1111111... T2222 |
更新
以的是,第二文本视图的宽度可以是固定的能力的优势,下面的RelativeLayout
提供与期望的布局(通过显式设置所述第二视图的至60dp宽度):
<?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>
上面的代码生成以下布局:
| T1 T2222 |
| T111111 T2222 |
| T1111111... T2222 |
宽度为两个TextViews
之间5dp的差距。
1.我没有想到这一点,这是一个有趣的想法,但不是设计师想到的。谢谢。 2.否,T2必须在T1旁边。 – entonio 2011-05-02 19:43:02
请在我的更新中查看布局,我希望它能为您工作。 – rekaszeru 2011-05-02 20:42:44
非常感谢!:)我放弃了这一点,但你的例子完美的作品。我会投票答复,但我今天刚刚注册...只是为了记录:没有引力=“填充”,RelativeLayout只会从右侧填充;如果T2没有被首先声明,则T2将是椭圆而不是T1。 – entonio 2011-05-02 21:27:35