2010-10-04 5 views
6

Estoy desarrollando un AppWidget donde necesito un TextView para mostrar el texto como una marquesina. He intentado usar el siguiente código (como se haría en un Activity normal), pero el texto no se desplaza.Marquee TextView en el widget de la aplicación

<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" /> 

¿Alguien me puede decir cómo solucionar esto?

+0

que es un trabajo bien en la actividad, pero no puede trabajar en flash, ¿ha resuelto todavía? – lynn8570

Respuesta

2

La marquesina aparecerá cuando el contenido de Textview sea mayor que el ancho. Asegúrese de que la entrada ocupa un espacio mayor que el ancho.

+0

En un 'AppWidget' el texto simplemente no se desplaza a pesar de que haya más texto del que cabe en la página. – Leo

0

El texto solo se desplazará si el TextView está en el estado seleccionado o centrado y, como indica Praveen, el texto es más ancho que el ancho disponible del TextView. No he experimentado con obtener un TextView en los estados seleccionados o enfocados en un widget de aplicación. Tal vez this o this respuestas anteriores de StackOverflow le darán algunas cosas para probar.

4

Es necesario añadir las siguientes propiedades en XML para la marquesina:

android:singleLine="true" 
    android:ellipsize="marquee" 
    android:marqueeRepeatLimit ="marquee_forever" 
    android:scrollHorizontally="true" 
    android:focusable="true" 
    android:focusableInTouchMode="true" 
Cuestiones relacionadas