表格行内的文本视图无法进行省略号处理

5

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

但对我来说它不起作用,如下面的屏幕截图所示。请给我任何想法,如何将省略号应用于table row内部的textview

这是代码:

<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


请使用maxLines而不是minLines。 - Shrikant Ballal
3个回答

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>

这可能对你有用。


救命稻草!它终于能用了!但是在点击EditText后,光标无法正常工作! - LOG_TAG
在我的情况下,我不得不向TableLayout添加android:shrinkColumns="2"才能使其正常工作。 - stefan222

1

//试一下

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" />

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接