|
||
|
![]() |
![]() |
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
|
||||
|
||||
ImageView evento al pulsar
Hola
Bueno pues necesito saber para una aplicación como puedo lanzar un método al pulsar un imageView y además para el procesamiento del metodo necesito saber las coordenadas XY en las que he pulsado el imageView, pero en principio no tengo ni idea de como hacerlo. Saludos |
|
#2
|
||||
|
||||
Con un OnTouchListener, el código sería más o menos así:
Código:
img.setOnTouchListener(new OnTouchListener() { float x,y; public boolean onTouch(View b, MotionEvent arg1) { if( arg1.getAction() == MotionEvent.ACTION_DOWN) { { x = arg1.getX(); y = arg1.getY(); } |
Gracias de parte de: | ||
#3
|
||||
|
||||
perfecto, muchisimas gracias.
|
#4
|
||||
|
||||
Ahora necesito lo mismo pero al arrastrar en vez de al pulsar en el ImageView y necesito conocer donde pulso primero y donde acabo al arrastrar, imagino que es algo parecido al evento de tocar, pero no se como buscar como se hace.
Saludos |
#5
|
||||
|
||||
Puedes modificar el código anterior:
Código:
img.setOnTouchListener(new OnTouchListener() { float desdeX,desdeY,hastaX, hastaY; public boolean onTouch(View b, MotionEvent arg1) { if( arg1.getAction() == MotionEvent.ACTION_DOWN) { desdeX = arg1.getX(); desdeY = arg1.getY(); } else if(arg1.etAction() == MotionEvent.ACTION_UP) { // este evento se usa para buscar cuándo se ha dejado de pulsar hastaX = arg1.getX(); hastaY = arg1.getY(); } } } Un saludo. |
#6
|
||||
|
||||
En cuanto al efecto, ¿te refieres a que con tu código puedes calcularlo, pero no se ve que la imagen haya sido arrastrada?
|
#7
|
||||
|
||||
Para ver el efecto de "arrastrado" tendrás que controlar también el caso MotionEvent.ACTION_MOVE. |
#8
|
||||
|
||||
Estoy probando este codigo y no me funciona, al dejar de pulsar no entra en el if del ACTION_UP, ¿no habra algo mal?
Puedes modificar el código anterior:
Código:
img.setOnTouchListener(new OnTouchListener() { float desdeX,desdeY,hastaX, hastaY; public boolean onTouch(View b, MotionEvent arg1) { if( arg1.getAction() == MotionEvent.ACTION_DOWN) { desdeX = arg1.getX(); desdeY = arg1.getY(); } else if(arg1.etAction() == MotionEvent.ACTION_UP) { // este evento se usa para buscar cuándo se ha dejado de pulsar hastaX = arg1.getX(); hastaY = arg1.getY(); } } } Un saludo. ![]() |
#9
|
||||
|
||||
Si no devuelves true en el onTouch no te va a avisar de ningún evento posterior al ACTION_DOWN.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
|
![]() |
![]() |
||||||
|
Herramientas | |