Ellipsize does not work for textview inside table row

I am using table layout. I have two (columns) of textual representations in a row of a table. I want to apply android:ellipsize="end" at the end of a textView .

But it does not work for me, see screenshot below. Please give me any idea how to apply an ellipsis to a textView inside a table row .

Here is the code:

 <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

+4
source share
3 answers

try it

You must use the following property. Since the width of the text is wrap_content , so it goes beyond tablerow. Therefore, if you use this property, it will work: 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> 

This might work for you.

+7
source

//try it

android:maxEms="9" these attributes will change you maxEms according to your length, what you want to achieve.

 <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
source

For multi-line TextViews, I use android:maxLines="3" in every TextView that needs an ellipsis.

0
source

Source: https://habr.com/ru/post/1436550/


All Articles