Avisos

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 30/08/14, 22:42:47
Avatar de modeag
modeag modeag no está en línea
Usuario muy activo
Mensajes: 1,471
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra
Mencionado: 4 comentarios
Tagged: 0 hilos
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
Avatar de wolfcat90
wolfcat90 wolfcat90 no está en línea
Desarrollador
Mensajes: 445
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Versión de ROM: Stock
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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!
Responder Con Cita
  #3  
Viejo 30/08/14, 23:13:55
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
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
Avatar de wolfcat90
wolfcat90 wolfcat90 no está en línea
Desarrollador
Mensajes: 445
 
Fecha de registro: jun 2012
Mensajes: 445
Modelo de smartphone: Samsung Galaxy Trend Plus
Versión de ROM: Stock
Tu operador: Movistar
Mencionado: 4 comentarios
Tagged: 1 hilos
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
Responder Con Cita
  #5  
Viejo 30/08/14, 23:47:18
Avatar de modeag
modeag modeag no está en línea
Usuario muy activo
Mensajes: 1,471
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra
Mencionado: 4 comentarios
Tagged: 0 hilos
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
Avatar de modeag
modeag modeag no está en línea
Usuario muy activo
Mensajes: 1,471
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra
Mencionado: 4 comentarios
Tagged: 0 hilos
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
Avatar de modeag
modeag modeag no está en línea
Usuario muy activo
Mensajes: 1,471
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra
Mencionado: 4 comentarios
Tagged: 0 hilos
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
Avatar de modeag
modeag modeag no está en línea
Usuario muy activo
Mensajes: 1,471
 
Fecha de registro: nov 2010
Mensajes: 1,471
Tu operador: Otra
Mencionado: 4 comentarios
Tagged: 0 hilos
KriogeN sabes como?
Responder Con Cita
  #9  
Viejo 15/09/14, 17:17:57
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
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   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


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: 12:32:11 (GMT +2)

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