2012-03-26 4 views
1

В моем приложении у меня есть listview, элемент списка которого состоит из TextView и флажка. Текстовое изображение содержит название какой-либо песни, а флажок всегда располагается в правом исходном положении с пометкой 5dip для всех сторон.Получить длину текста и отобразить текст соответственно

Теперь проблема в том, что всякий раз, когда название песни превышает определенный предел, я хочу показать "..." после названия песни. например Название песни "My heart will go on", я хочу показать только "My heart wil...". И, конечно, если заголовок достаточно короткий, не нужно «...». Я не хочу, чтобы текст имел тип выделения. Это можно сделать? Как?

+3

Использование android: elipsize = "end" атрибут textview. –

ответ

5

TextView обеспечивают атрибут ellipsize, просто добавьте ниже атрибут это даст тот же результат, как вы хотите. более

android:ellipsize="end" 
+1

+1 для этого ответа. Я также хочу знать, как он будет работать на фиксированную длину. Как он сказал: «Мое сердце ...», как он будет «...» после «Мое сердце», что мы будем использовать свойство фиксированной длины? –

+0

@RobinHood: Спасибо. Но моя следующая проблема: если я хочу, чтобы текст не занимал всю ширину экрана, мне нужно исправить ширину текста. И если да, то он будет работать над всеми резолюциями. Все еще пытаюсь. Благодарю. – Rajkiran

+0

Затем укажите фиксированную ширину для вашего текста. – RobinHood

2

Один пункт, чтобы иметь в виду, убедитесь, что вы исправить размер вашего TextView, или иначе TextView будет продолжать изменять размер и ellipsize не придет в действие. Поэтому либо установите Layout_width, либо установите maxLines.

Смежные вопросы