TextView не усекается в TableLayout, хотя используется атрибут ellipsize - PullRequest
2 голосов
/ 02 декабря 2011

У меня есть некоторые проблемы с макетом таблицы, который я использовал для отображения данных связи в приложении. Проблема в том, что значение коммуникационных данных может быть больше доступной ширины, поэтому текст обрезается, что выглядит не очень красиво.

enter image description here

Чтобы решить эту проблему, я немного погуглил и нашел несколько решений, которые советуют использовать атрибут shrinkColumns в TableLayout и android:ellipsize в TextView, которые должны быть усечены.

Это xml для таблицы

...
    <TableLayout android:id="@+id/table" 
    android:layout_height="wrap_content" 
    android:layout_width="fill_parent"
    android:shrinkColumns="1"/> 
...

Строки таблицы раздуваются во время выполнения, используя следующую структуру строк.

   <TableRow xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_height="wrap_content" android:layout_width="fill_parent">
        <TextView android:id="@+id/type_column_text"
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"/>
        <TextView android:id="@+id/value_column_text" 
           android:layout_width="fill_parent"       
           android:layout_height="wrap_content"
           android:inputType="text"
           android:maxLines="1"
           android:ellipsize="end"
           android:autoLink="all" />
    </TableRow>

Я не знаю, что я делаю неправильно, но это сводит меня с ума. Любое предложение, как решить эту проблему или как найти причину, почему это не работает?

1 Ответ

2 голосов
/ 02 декабря 2011

Уберите строку, которая говорит:

android:inputType="text"

Тогда вы должны получить эллипсы.

...