【发布时间】:2012-07-15 12:43:02
【问题描述】:
如何实现以下布局,TextView 是 TextView,椭圆结束,View 是 wrap_content,紧邻 TextView ?
以下是布局应该如何表现的三个示例,具有不同的 TextView 宽度:
|[TextView] [View] |
|[TextView TextView] [View] |
|[TextView TextView T...] [View]|
[编辑]
以下TableLayout 给出了正确的行为:
<TableLayout
android:id="@+id/upper_layout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/alert_button"
android:shrinkColumns="0"
android:stretchColumns="2" >
<TableRow>
<TextView
android:id="@+id/name_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_gravity="center_vertical"
android:ellipsize="end"
android:includeFontPadding="false"
android:lines="1"
android:paddingTop="2dp"
android:scrollHorizontally="true" />
<TextView
android:id="@+id/unread_count_textview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginLeft="10dp"
android:gravity="center"
android:includeFontPadding="false"
android:paddingBottom="0dp"
android:paddingLeft="5dp"
android:paddingRight="5dp"
android:paddingTop="2dp" />
</TableRow>
</TableLayout>
TableLayout 使用 3 列,最后一列是 hack:strechColumns 属性使其占用所有可用空间,因此第二个 TextView 始终紧邻第一个。
由于shrinkColumns 属性,第一个TextView 椭圆大小正确。
但是,我不喜欢使用 TableLayout 来实现这一点的想法。
有人知道更好的方法吗?
谢谢
【问题讨论】: