TextView – эллипсис и сломанные символы

У меня есть проблема со стандартным механизмом эллипсирования android.

Теперь следующий макет textview xml:

<TextView android:id="@+id/something" android:layout_width="fill_parent" android:layout_height="wrap_content" android:text="@string/message_test_text" android:lines="2" android:ellipsize="end" android:textColor="@drawable/dialogs_text_selector" /> 

Затем в коде я устанавливаю шрифт Helvetica в это поле. И затем, в конце второй строки, я вижу сломанный символ после точек:

Сломанный символ

Поскольку он используется в списке, я вижу список квадратов.

Могу ли я удалить его без тонны кода?

Спасибо!

Solutions Collecting From Web of "TextView – эллипсис и сломанные символы"

Здесь зарегистрирована проблема. У многих людей есть некоторые или другие проблемы при использовании TextView с эллипсисом в ListView . Существует много обходных решений, которые позволяют изменить текстовое представление на одну строку, но вы не можете его использовать.

Попробуйте установить android:maxLines="2" .

Обновить:

Используйте API TextUtils.ellipsize для ручной эллипсирования строки перед установкой ее в текстовое окно. Посмотрите, вернет ли эллипсированная строка, возвращаемая этим API, квадратный символ в конце.

Код примера использования:

 TextPaint tp = new TextPaint(); tp.setTextSize(float textSize); tp.setTypeface(Typeface typeface); Charsequence elipText; elipText = TextUtils.ellipsize ( text, tp, avail, TextUtils.TruncateAt.END); textview.setText(elipText); 

Проблема здесь, я не думаю, что это был ваш код. Проблема заключается в вашем .tff файле, в котором отсутствует символ ellipsize , поэтому отображается square . Ваш шрифт не был … допустим, mobile optimized .

Класс здесь решает проблему очень хорошо

Затем в коде я устанавливаю шрифт Helvetica в это поле

Надеюсь, вы заплатили за лицензию на этот шрифт. В противном случае, пожалуйста, не распространяйте его.

И затем, в конце второй строки, я вижу сломанный символ после точек:

Это было рассмотрено ранее, например: Android. Как избавиться от вопросительного знака в конце эллипсиса

Привет, Roman Используйте эти свойства в файле XML и проверьте

 android:singleLine="true"