Как заменить эллипсы с исчезающими / исчезающими краями в textview в Android SDK? - PullRequest
5 голосов
/ 20 сентября 2011

У меня есть список, каждая строка в списке имеет текст.Часть текста простирается за край экрана.У меня нет проблем с тем, чтобы усечь текст и показать эллипсы.У меня нет проблем с «затуханием края текста», однако, затухание происходит на краю каждого текста, а не только тех, которые слишком велики для просмотра текста.Я искал и искал и не могу найти способ, по существу, сделать точно , что делают эллипсы, но вместо эллипсов, затушевывать края текста только , если этоуходя от края экрана.Может кто-нибудь, пожалуйста, помогите?К вашему сведению, сейчас мое текстовое представление содержит:

android:fadingEdge="horizontal" 
android:inputType="text"
android:maxLines="1"

, но, очевидно, я пробовал много других вещей безрезультатно ...: _ (

Ответы [ 2 ]

4 голосов
/ 20 сентября 2011

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

В коде просто используйте два метода для этого текста. View.

textViewObj.setSelected(true);
textViewObj.setEllipsize(TextUtils.TruncateAt.MARQUEE);
2 голосов
/ 10 сентября 2014

Специальный вызов метода для включения горизонтального затухания края (с правой стороны) равен

setHorizontalFadingEdgeEnabled(true)

Вот пример из конструктора в моем классе ScrollTextView, который расширяет TextView:

public ScrollTextView(Context context, AttributeSet attrs) {
    this(context, attrs, android.R.attr.textViewStyle);
    setHorizontalFadingEdgeEnabled(true);
}
...