Ellipsize不适用于表行内的textview

时间:2012-09-27 08:57:33

标签: android android-layout

我正在使用表格布局。我在表格行中有两个(列)文本视图。我想在android:ellipsize="end"的末尾应用textView

但它不适合我,请看下面的屏幕截图。请告诉我如何将ellipsize应用于textview内的table row

以下是代码:

<TableLayout
        android:id="@+id/linerLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_margin="10dip"
        android:background="@drawable/shape1"
        android:stretchColumns="2" >

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Product used for "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/productusedfor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Treatment for "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/treatementfor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Horse Name "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/horsename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="10dp"
                android:ellipsize="end"
                android:minLines="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Where "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

enter image description here

3 个答案:

答案 0 :(得分:8)

试试这个

您必须使用以下属性。因为textview宽度为wrap_content所以它从tablerow开出。因此,如果您使用此属性,那么它将起作用:android:layout_weight="1"

<TableLayout
        android:id="@+id/linerLayout1"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:layout_margin="10dip"
        android:background="@drawable/shape1"
        android:stretchColumns="2" >

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView1"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Product used for "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/productusedfor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:layout_weight="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="fjdsngfksngfkfngkaklmngkldfmnkldgfnskldngkldnsklnghdnklgfnkdtgfndkgfn"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView2"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Treatment for "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/treatementfor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:layout_weight="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView3"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Horse Name "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/horsename"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:layout_marginRight="10dp"
                android:ellipsize="end"
                android:minLines="1"
                android:layout_weight="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>

        <TableRow
            android:id="@+id/TableRow1"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content" >

            <TextView
                android:id="@+id/textView4"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:padding="5dp"
                android:text="Where "
                android:textColor="@color/black_color" />

            <TextView
                android:id="@+id/location"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:layout_weight="1"
                android:padding="5dp"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />
        </TableRow>
</TableLayout>

它可能适合你。

答案 1 :(得分:0)

//试试这个

android:maxEms="9"此属性会根据您想要获得的长度更改 maxEms

<TextView
                android:id="@+id/productusedfor"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_gravity="center_vertical"
                android:ellipsize="end"
                android:minLines="1"
                android:padding="5dp"
                android:maxEms="5"
                android:singleLine="true"
                android:text="TextView"
                android:textColor="@color/black_color" />

答案 2 :(得分:0)

对于多行TextView,我在每个需要ellipsize的TextView中使用android:maxLines="3"