PDA

Ver la Versión Completa : Scrollview muestra campos centro


FrancisPM
17/06/13, 21:31:04
Buenas tardes,

He creado un scrollview que contiene un linearlayout y dentro varios campos (labels y campos de texto), el problema es que cuando ejecuto la aplicación y accedo a este, en lugar de mostrar la ventana desde arriba para ver el título y los primeros campos, me muestra los del centro y hay que subir para ver los primeros. ¿como puedo hacer para que se muestre desde arriba directamente cuando se abre?.

Gracias. Un saludo.

pablogarcia013
17/06/13, 21:51:48
Hola Francis, no se si te referiras a esto:

tuscroll.scrollTo(0,0);

Aunque por defecto el scroll creo que deberia empezar en esa posicion.

rafaxplayer
17/06/13, 21:57:30
si yo lo uso y siempre empieza desde arriba , solo por probar...haber si algun view lo tienes en focusable y es por esto.

kriogeN
17/06/13, 22:03:30
El scroll va hacia el primer elemento que capture el foco, puedes poner algún elemento que tenga foco al principio de la página. También hay veces que el scroll se va hacia algún elemento que cambia de tamaño después de la inicialización de la ventana. Por ejemplo si tienes un ListView y lo rellenas, el scroll se irá hacia el ListView justo después de rellenarse.

La solución es la que te dice pablogarcia013, pero la ventana te hará un efecto raro, ya que comenzará arriba, se irá a la posición donde se va ahora y después volverá arriba.

A mi me ocurría igual en una ventana que tenía un ListView justo al final, nada más terminar de rellenarse scrolleaba hacia el ListView.

FrancisPM
17/06/13, 22:36:53
Todos los campos de texto los pongo mediante código java en el onCreate a setFocusable(false) y setKeyListener(null), y he probado lo de scrollTo, pero no me funciona. No se que puede ser lo que ocurre.

Gracias a todos por contestar. Un saludo.

rafaxplayer
18/06/13, 11:25:31
Siempre ayuda el ver el código , deberías mostrar el xml del scroll haber si los entendidos ven algo.

FrancisPM
19/07/13, 17:06:37
Ya está solucionado, cree de nuevo la ventana desde cero y ya funciona como toca.

Gracias a todos por la ayuda. Un saludo.