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

Respuesta
 
Herramientas
  #1  
Viejo 30/08/14, 22:42:47
Array

[xs_avatar]
modeag modeag no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra

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?
Responder Con Cita


  #2  
Viejo 30/08/14, 22:58:11
Array

[xs_avatar]
wolfcat90 wolfcat90 no está en línea
Desarrollador
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Tu operador: Movistar
 Cita: Originalmente Escrito por modeag Ver Mensaje
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:
Código:
 android:onClick="funcion"
y luego hacer una función con el mismo nombre:
Código:
 public void funcion (View v) {}
Un saludo!
__________________
Para aprender en Android hay que experimentar con él, pero no demasiado, queremos conservar nuestro movil
Responder Con Cita
  #3  
Viejo 30/08/14, 23:13:55
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
 Cita: Originalmente Escrito por BlauDragon Ver Mensaje
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:
Código:
 android:onClick="funcion"
y luego hacer una función con el mismo nombre:
Código:
 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.
Responder Con Cita
Gracias de parte de:
  #4  
Viejo 30/08/14, 23:35:09
Array

[xs_avatar]
wolfcat90 wolfcat90 no está en línea
Desarrollador
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Tu operador: Movistar
 Cita: Originalmente Escrito por kriogeN Ver Mensaje
@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
__________________
Para aprender en Android hay que experimentar con él, pero no demasiado, queremos conservar nuestro movil
Responder Con Cita
  #5  
Viejo 30/08/14, 23:47:18
Array

[xs_avatar]
modeag modeag no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra

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
Responder Con Cita
  #6  
Viejo 31/08/14, 00:59:52
Array

[xs_avatar]
modeag modeag no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra

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?
Responder Con Cita
  #7  
Viejo 15/09/14, 15:51:17
Array

[xs_avatar]
modeag modeag no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra

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
Responder Con Cita
  #8  
Viejo 15/09/14, 15:51:49
Array

[xs_avatar]
modeag modeag no está en línea
Usuario muy activo
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra

KriogeN sabes como?
Responder Con Cita
  #9  
Viejo 15/09/14, 17:17:57
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
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.
Responder Con Cita
Respuesta

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

Herramientas


Hora actual: 22:49:55 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /