Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 20/10/13, 07:48:38
Avatar de hugomc92
hugomc92 hugomc92 no está en línea
Miembro del foro
Mensajes: 157
 
Fecha de registro: mar 2010
Mensajes: 157
Modelo de smartphone: HTC One M8, Nexus 7(2013), HTC One, HTC One X, HD2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Autoscroll del texto en TextView

Hola a todos, tengo un problema. Estoy desarrollando una calculadora para empezar a aprender a programar en android. El caso es que tengo un textview donde se muestran todas las operaciones(sin limite) seguidas y al pulsar igual aparece el resultado, pues bien, mi problema es que al poner muchas operaciones seguidas o números muy grandes el texto desaparece del textview, así que lo establezco para que sea horizontalmente scrollable con setMovementMethod(new ScrollingMovementMethod()) y funciona el scroll. Ahora bien, una vez hago scroll para poder ver el texto completo si pulso cualquier boton(numero u operador) se añade al textview pero el textview no se autodesplaza hasta la posición donde se esta insertando el texto. He visto en la documentación de TextView varios métodos que pueden hacerlo pero ninguno me funciona(si los uso, el texto desaparece hasta que hago scroll manual y si vuelvo a pulsar cualquier botón vuelve a desaparecer). No se si estoy usándolos mal o que pasa. Por favor alguien que sepa como hacerlo y usarlo puede echarme una mano.
Muchas gracias de antemano.

Saludos
Responder Con Cita


  #2  
Viejo 20/10/13, 11:18:06
Avatar de kriogeN
kriogeN kriogeN no está en línea
Colaborador/a
Mensajes: 4,637
Compra y venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Versión de ROM: CM13 - CM 11
Tu operador: Vodafone
Mencionado: 60 comentarios
Tagged: 3 hilos
Para tu caso lo que yo haría es meter el TextView dentro de un HorizontalScrollView (el HorizontalScrollView con fill_parent en width y el TextView con wrap_content)

Cada vez que el TextView cambia mueves el HorizontalScrollView a la anchura del TextView (con scrollTo, poniendo el valor de y a 0).

No lo he probado, pero debería funcionar.

Aunque el TextView admite añadirle un Scroller la forma que te indico es más "natural", incluso en la documentación del HorizontalScrollView en Android Developers indican que es mejor usar el HorizontalScrollView que el Scroller del TextView para movimiento horizontal.
Responder Con Cita
Gracias de parte de:
  #3  
Viejo 21/10/13, 00:02:41
Avatar de hugomc92
hugomc92 hugomc92 no está en línea
Miembro del foro
Mensajes: 157
 
Fecha de registro: mar 2010
Mensajes: 157
Modelo de smartphone: HTC One M8, Nexus 7(2013), HTC One, HTC One X, HD2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por kriogeN Ver Mensaje
Para tu caso lo que yo haría es meter el TextView dentro de un HorizontalScrollView (el HorizontalScrollView con fill_parent en width y el TextView con wrap_content)

Cada vez que el TextView cambia mueves el HorizontalScrollView a la anchura del TextView (con scrollTo, poniendo el valor de y a 0).

No lo he probado, pero debería funcionar.

Aunque el TextView admite añadirle un Scroller la forma que te indico es más "natural", incluso en la documentación del HorizontalScrollView en Android Developers indican que es mejor usar el HorizontalScrollView que el Scroller del TextView para movimiento horizontal.
Hola, gracias por contestar, he probado lo que dices pero tengo un problema con el horizontalScrollView y es que mi texto está alineado a la derecha, y cuando sobrepasa el tamaño me deja hacer scroll pero sólo hacia la derecha no viéndose y no me deja ir más a la izquierda para ver el texto completo. He estado buscando y no he encontrado como solucionarlo. Alguna idea?
Muchas gracias
Responder Con Cita
  #4  
Viejo 22/10/13, 07:56:14
Avatar de hugomc92
hugomc92 hugomc92 no está en línea
Miembro del foro
Mensajes: 157
 
Fecha de registro: mar 2010
Mensajes: 157
Modelo de smartphone: HTC One M8, Nexus 7(2013), HTC One, HTC One X, HD2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Alguien sabe alguna solucion para esto? Graciaas de antemano
Responder Con Cita
  #5  
Viejo 02/11/13, 22:24:31
Avatar de hugomc92
hugomc92 hugomc92 no está en línea
Miembro del foro
Mensajes: 157
 
Fecha de registro: mar 2010
Mensajes: 157
Modelo de smartphone: HTC One M8, Nexus 7(2013), HTC One, HTC One X, HD2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Por favor, realmente estoy atrancado con esto y necesito ayuda.... Alguien puede echarme una mano por favor? Muchas gracias!!
Responder Con Cita
  #6  
Viejo 02/11/13, 23:16:13
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Mira a ver esto, es un apaño tonto pero igual funciona...

http://stackoverflow.com/questions/7...nd-of-edittext

Básicamente, añade las nuevas operaciones "reiniciando" el texto del TextView, así se irá el cursor al final siempre

Código:
String newtext = editText.getText().toString() + "the new text";
editText.setText("");
editText.append(newtext);
Responder Con Cita
Gracias de parte de:
  #7  
Viejo 03/11/13, 18:12:48
Avatar de hugomc92
hugomc92 hugomc92 no está en línea
Miembro del foro
Mensajes: 157
 
Fecha de registro: mar 2010
Mensajes: 157
Modelo de smartphone: HTC One M8, Nexus 7(2013), HTC One, HTC One X, HD2
Tu operador: Movistar
Mencionado: 0 comentarios
Tagged: 0 hilos
Cita:
Originalmente Escrito por mocelet Ver Mensaje
Mira a ver esto, es un apaño tonto pero igual funciona...

http://stackoverflow.com/questions/7...nd-of-edittext

Básicamente, añade las nuevas operaciones "reiniciando" el texto del TextView, así se irá el cursor al final siempre

Código:
String newtext = editText.getText().toString() + "the new text";
editText.setText("");
editText.append(newtext);
Si!! Muchísimas gracias! Tenía ya la cabeza como un bombo y eso funciona a la perfección, eso sí para que funcione hay que poner el MovementMethod ArrowKeyMovementMethod con el ScrollingMovementMethod no funciona.
Muchas gracias de nuevo
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android

Herramientas

Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 06:58:23 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007