Выделение TextView в виджете приложения

Я разрабатываю AppWidget, где мне нужно TextView для отображения текста в виде бегущей строки. Я попытался использовать следующий код (как в обычном Activity), но текст не прокручивается.

<TextView
    android:layout_width="150dip" 
    android:layout_height="wrap_content"
    android:text="@string/marquee_forever"
    android:singleLine="true"
    android:ellipsize="marquee"
    android:marqueeRepeatLimit="marquee_forever" />

Кто-нибудь может сказать мне, как это исправить?


person Leo    schedule 04.10.2010    source источник
comment
это хорошо работает в Activity, но не может работать в виджете, вы уже решили эту проблему?   -  person lynn8570    schedule 14.03.2013


Ответы (3)


Вам необходимо добавить следующие свойства в xml для выделения:

    android:singleLine="true" 
    android:ellipsize="marquee"
    android:marqueeRepeatLimit ="marquee_forever"
    android:scrollHorizontally="true"
    android:focusable="true"
    android:focusableInTouchMode="true"
person Sandy    schedule 04.10.2010

Выделение появится, когда содержимое Textview должно быть больше ширины. Убедитесь, что ввод занимает больше места, чем ширина.

person Praveen    schedule 04.10.2010
comment
На AppWidget текст просто не прокручивается, несмотря на то, что текста больше, чем может поместиться на странице. - person Leo; 04.10.2010

Текст будет прокручиваться только в том случае, если TextView находится либо в выбранном, либо в сфокусированном состоянии, и, как указывает Правин, текст шире, чем доступная ширина TextView. Я не экспериментировал с получением TextView в выбранном или сфокусированном состоянии в виджете приложения. Возможно, это или эти предыдущие ответы StackOverflow дадут вам кое-что, что можно попробовать.

person CommonsWare    schedule 04.10.2010