Soy muy nuevo en la programación de Android, y he leído en todas partes y parece que no puedo encontrar ninguna solución.¿Es posible TextView Marquee en un widget que extiende AppWidgetProvider?
El problema básico es que tengo un TextView en un widget y me gustaría que el texto se desplace cuando el texto sea más largo que el TextView layout_width. Este es mi código en el layout_widget.xml
<TextView android:id="@+id/fact" android:layout_width="200dp"
android:text="Loading... More text to see if it spans or not and want more"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true" />
Ahora he leído que tengo que hacer el TextView para estar en el foco, lo que he hecho. También he leído que necesita establecer la propiedad setSelected (true), y aquí es donde estoy luchando para establecer. En mi actividad predeterminada (en AndroidManifest.xml) tengo este código siguiente.
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
setContentView(R.layout.main);
}
La parte de abajo se utiliza para ajustar el contenido a la widget_layout.xml y luego establecer la propiedad Vista de Texto para setSelected a cierto
setContentView(R.layout.widget_layout);
findViewById(R.id.fact).setSelected(true);
luego regrese de nuevo a la ContentView Main.xml
Ahora supongo que esto está mal y esta no es la forma en que debería hacerse. Pero me pregunto si se puede hacer. También leí que si puede anular el Marco, puede poner sus propias propiedades, por ejemplo, ScrollView, ¿es esto correcto también? También estoy en SDK Versión 7.
Agradezco mucho la ayuda que recibo, ¡gracias a todos!
Editar: Al eliminar setContentView (R.layout.main); al iniciar la aplicación a través del sorteo de la aplicación, el texto se desplaza, pero el widget no. Tipo de me lleva a que un widget no puede tener una marquesina ??? ¿Alguien tiene una marquesina trabajando en un widget?
Edit2: Resuelto. Así es como se hace
En el xml para la vista de texto debe tener una etiqueta Esto básicamente creo que es lo mismo que getSeleted (verdadero);
Así que el código debe ser como sigue:
<TextView android:id="@+id/fact" android:layout_width="200dp"
android:text="Loading... More text to see if it spans or not and want more"
android:singleLine="true"
android:ellipsize="marquee"
android:marqueeRepeatLimit ="marquee_forever"
android:scrollHorizontally="true"
android:focusable="true"
android:focusableInTouchMode="true"
android:duplicateParentState="true">
<requestFocus android:focusable="true" android:focusableInTouchMode="true"
android:duplicateParentState="true" />
</TextView>
Bienvenido al desbordamiento de la pila! Recuerde aceptar una respuesta si uno resuelve su problema. –
aplausos pero la solución no funciona – Springy
¿esto realmente funciona para usted? porque no puedo hacer que funcione ... – Paul