关于TableLayout和省略号的Android问题

时间:2011-06-17 03:41:35

标签: android xml layout tablelayout

我的TableLayout出了问题。它由两列和多行组成。当第二列的TextView包含较长宽度的文本时,它会将该列中的TextView(在下面的行中)推出屏幕(向右)。相反,我希望它将文本保留在左侧,并使文本在末尾用省略号括起来。任何人都可以看到我的XML出了什么问题吗?

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:background="#4096cc" >

    <TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/roundedshape"
        android:layout_margin="5dp"
        android:stretchColumns="1">

        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Server Name"
                android:textStyle="bold"
                android:padding="10dip" />
            <TextView
                android:id="@+id/txtServerName"
                android:text=""
                android:gravity="right"
                android:ellipsize="end"
                android:padding="10dip" />
        </TableRow>

        <View
            android:layout_height="2dip"
            android:background="#FF909090" />

        <TableRow>
            <TextView
                android:layout_column="1"
                android:text="Status"
                android:textStyle="bold"
                android:padding="10dip" />
            <ImageView
                android:id="@+id/status"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="right"
                android:padding="10dip"
                android:src="@drawable/icon" />
        </TableRow>
            .
            .
            .

    </TableLayout>
</LinearLayout>

1 个答案:

答案 0 :(得分:4)

根据您要设置上限的列,您需要使用

android:shrinkColumns=x 

TableLayout中,其中x是您想要椭圆化的列的索引。

您可能还想将TextView上的maxLines设置为1。