Эффект Marque для элемента просмотра текста пользовательского списка на сенсорном фокусе - PullRequest
4 голосов
/ 20 июля 2011

Я создал собственный вид списка.В каждом списке у меня есть текстовое представление.Мне нужно применять marquee для этого всякий раз, когда пользователи касаются этого конкретного элемента списка.

Я пытался установить

android:ellipsize="marquee"
android:marqueeRepeatLimit="marquee_forever"

Эта работа, когда я поставил setselected (true);в getview (), но для каждого элемента списка.Мне нужно включить выделение только для сфокусированного / нажатого элемента.

Ответы [ 2 ]

2 голосов
/ 20 июля 2011

Я думаю, что когда вы прикасаетесь к элементу, в это время вы получаете TextView после этого набора выделения для него. Гудлак.

0 голосов
/ 06 июля 2013

Я знаю, что это старая запись, но недавно у меня возникла эта проблема на планшете, у которой нет физической кнопки прокрутки (как у моего телефона) для прокрутки элементов списка (без фактического выбора элемента путем нажатия на Это). На моем телефоне, когда я прокручиваю элементы списка, «марка» всегда работала с первого дня. Поэтому я поиграл в onListItemClick ...

Это результат:

@Override
protected void onListItemClick(ListView list, View v, int position, long id) {
    final View t = v.findViewById(R.id.YOURTEXTVIEW_ID_HERE);
    t.requestFocusFromTouch();
    list.setSelectionFromTop(position, v.getTop());
    super.onListItemClick(list, v, position, id);
}

Я пробовал все виды комбинаций requestFocus, requestFocusFromTouch и list.setSelectionFromTop, но вышеприведенная комбинация - это минимум методов, которые необходимы для того, чтобы он работал и элемент списка оставался в том положении, в котором он находится. работает с list.setSelection (position), но затем выбранный элемент будет перемещен в верхнюю часть списка, насколько это возможно, как и предназначен этот метод.

В XML я только получил:

android:ellipsize="marquee"
android:singleLine="true"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...