0

我需要用 4 个 TextView 进行布局。

第一个 TextView 位于屏幕的左边界,第二个 TextView 可能有不同的大小,第三个 TextView 位于第二个 textView 之后,第四个 TextView 位于屏幕的右边界。

如果第二个 TextView 很短,则在第三个 TextView 之后添加空格,例如:

[TextView1 TextView2 TextView3 (free space) TextView4]

如果第二个 TextView 很长,它会在末尾用 ... 椭圆化:

[TextView1 VeryLooooooongTexVi... TextView3 TextView4]

如何在 xml 中编写此布局?我必须使用 LinearLayout 还是 TableLayout 更好?你能举一些例子吗?

4

2 回答 2

1

您可以使用RelativeLayout使用属性 layout_ alignParentLeft、layout_ alignParentRight和 layout_ toRightOf以您想要的方式对齐文本视图。第二个TextView可以使用TextView的maxWidth、ellipsize、singleLine属性按需要的方式设计。布局会有点像这样:

     <RelativeLayout android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <TextView android:id="@+id/firstTextView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentLeft="true"
        android:text="first"/>

    <TextView android:id="@+id/secondTextView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@id/firstTextView"
        android:layout_marginLeft="10dp"
        android:singleLine="true"
        android:maxWidth="100dp"
        android:ellipsize="end"
        android:text="secondtextviewlonnnnnnnnnnnnnnnnng"/>

    <TextView android:id="@+id/thirdTextView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_toRightOf="@id/secondTextView"
        android:layout_marginLeft="10dp"
        android:text="third"/>

    <TextView android:id="@+id/fourthTextView"
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:layout_alignParentRight="true"
        android:layout_marginLeft="10dp"
        android:text="fourth"/>

</RelativeLayout>

此外,您可以在此处找到不同布局的示例项目

于 2013-01-20T20:36:30.653 回答
0
<?xml version="1.0" encoding="utf-8"?>

<TextView
    android:layout_width="0"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

<TextView
    android:layout_width="0"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

<TextView
    android:layout_width="0"
    android:layout_height="fill_parent"
    android:layout_weight="1" />


<View
    android:layout_width="0"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

<TextView
    android:layout_width="0"
    android:layout_height="fill_parent"
    android:layout_weight="1" />

于 2013-01-10T16:45:34.137 回答