Ver la Versión Completa : [ CONSULTA ] Alternativa OnClickListener
Hola, alguien me sabría decir una alternativa al OnClick para que cuando se pulse un botón se ejecute cuando se pulsa el botón aunque se quede pulsado y no cuando se suelta como hace el OnClick?
wolfcat90
30/08/14, 22:58:11
Hola, alguien me sabría decir una alternativa al OnClick para que cuando se pulse un botón se ejecute cuando se pulsa el botón aunque se quede pulsado y no cuando se suelta como hace el OnClick?
De hecho a mi no me gusta usar OnClick, yo uso otro método mucho mas cómodo que es darle al botón el atributo XML:
android:onClick="funcion"
y luego hacer una función con el mismo nombre:
public void funcion (View v) {}
Un saludo!
kriogeN
30/08/14, 23:13:55
De hecho a mi no me gusta usar OnClick, yo uso otro método mucho mas cómodo que es darle al botón el atributo XML:
android:onClick="funcion"
y luego hacer una función con el mismo nombre:
public void funcion (View v) {}
Un saludo!
@BlauDragon: Pero eso es lo mismo escrito de forma distinta, lo que modeag pregunta es una función que haga un efecto distinto.
@modeag: No dejas muy claro el efecto que buscas, si justo cuando se pulsa o si lo pulsas y lo dejas pulsado un rato, así que te pongo los 2.
OnTouchListener con MotionEvent siendo ACTION_DOWN, justo en cuanto pulsas el botón se ejecuta la acción. Pero el evento también se ejecuta cuando lo levantas, por eso lo del ACTION_DOWN.
OnLongClickListener: La acción se ejecuta si pulsas el botón y lo mantienes pulsado durante un poco menos de 1 segundo.
wolfcat90
30/08/14, 23:35:09
@BlauDragon: Pero eso es lo mismo escrito de forma distinta, lo que modeag pregunta es una función que haga un efecto distinto.
@modeag: No dejas muy claro el efecto que buscas, si justo cuando se pulsa o si lo pulsas y lo dejas pulsado un rato, así que te pongo los 2.
OnTouchListener con MotionEvent siendo ACTION_DOWN, justo en cuanto pulsas el botón se ejecuta la acción. Pero el evento también se ejecuta cuando lo levantas, por eso lo del ACTION_DOWN.
OnLongClickListener: La acción se ejecuta si pulsas el botón y lo mantienes pulsado durante un poco menos de 1 segundo.
Me pasa por leer rápido y no prestar atencion al detalle jejeje
Gracias kriogen, buscaba lo primero, lo había probado pero no me funcionaba, con un simple click se ejecutaba la función un montón de veces y se bloqueaba la aplicación, lo probaré como comentas
Funciona al pelo kriogen, solo una cosa, le he puesto una imagen al botón en el action_down y otra en el action_up pero lo hace tan rápido que no se nota el cambio a menos que lo quedes pulsado, he probado con thread.sleep pero no lo consigo, como puedo hacer que se note el cambio de imagen para que parezca real la pulsación?
Nada, llevo probando hace tiempo y no soy capaz de hacerlo, cuando le doy al botón no se nota el cambio de imagen a menos que lo quede pulsado un poco de tiempo, no se como hacerlo
kriogeN
15/09/14, 17:17:57
Puedes probar quizás con un CountDownTimer, el Thread.sleep no te vale porque paras al hilo principal y no llegas a ver dibujado lo que había antes.
vBulletin® v3.8.1, Copyright ©2000-2025, Jelsoft Enterprises Ltd.