Просмотр текста в Android - добавьте некоторый постоянный (не обрезанный) текст в конец текста - PullRequest
1 голос
/ 12 марта 2012

Я пытаюсь сделать текстовое представление для Android, чтобы отобразить заголовок и расстояние.Мой код выглядит следующим образом:

<TextView android:id="@+id/name" android:textSize="15dip"
android:ellipsize="end" android:maxLines="2"
android:layout_width="fill_parent" android:layout_height="wrap_content" />

Текст в текстовом представлении будет автоматически обрезан после заполнения 2 строк.Если я добавлю расстояние с текстом.расстояние также сократилось.Мне нужно, чтобы заголовок был обрезан, но не на расстоянии.

Например

"This is title line 1 
and this is title lin... (2 Mi)"

Ответы [ 2 ]

0 голосов
/ 12 марта 2012

Вы можете задать фиксированную длину отображаемого текста, установив в xml

android:maxLength="50"

Тогда сторона кодирования,

String str = "Your String";
String constantStr = "2 Mi";
if(str.length()>43)
{
    str = str.subString(0,42)+"..."+constantStr;
}
else
{
    str = str + " " + constantStr; 
}
tv.setText(str);
0 голосов
/ 12 марта 2012

Держите два TextViews рядом друг с другом. 1-й TextView должен быть динамическим, 2-й должен быть постоянным "(2 Mi)" Таким образом, вы можете легко поддерживать его. Для решения этой задачи потребуется

  1. Рассчитать доступную ширину
  2. Рассчитать ширину текста, покрытую всей строкой
  3. Если значение шага 2> значение шага 1, вычтите подстроку

это звучит как неэффективный способ сделать это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...