Evento de activación cuando se pulsa el botón en Android
Tengo el siguiente código para Android que funciona bien para reproducir un sonido una vez que se hace clic en un botón:
Button SoundButton2 = (Button)findViewById(R.id.sound2); SoundButton2.setOnClickListener(new OnClickListener() { public void onClick(View v) { mSoundManager.playSound(2); } });
Mi problema es que quiero que el sonido se reproduzca inmediatamente al pulsar el botón (tocar hacia abajo), no cuando se suelta (retoque). ¿Alguna idea sobre cómo puedo lograr esto?
- Android Button setOnClickListener Design Ayuda
- ¿Cómo abrir un sitio web cuando se hace clic en un botón en la aplicación de Android?
- ¿Puedo hacer clic en un botón mediante programación para una intención predefinida?
- Después de que los botones de cambio de orientación en un widget no responden
- Selector de fondo de botones
- Botón para Android setAlpha
- El botón y ToggleButton no se alinean a la misma altura
- Establezca el estado del botón y guárdelo después de onClick
- Android: ¿Cómo iniciar una actividad mediante el botón?
- Iniciar un fragmento de diálogo en el botón de clic de un adaptador de base personalizado> getView
- Android: cambia el texto del botón y el color de fondo
- Android No se puede anclar el botón FAB a BottomSheet
- Android - estilo del botón
Tal vez usando un OnTouchListener
? Supongo que MotionEvent tendrá algunos métodos para registrar un toque en el objeto.
button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { // TODO Auto-generated method stub return false; } }))
Debe hacer esto: b es el botón.
b.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_DOWN ) { mSoundManager.playSound(2); return true; } return false; } });
import android.view.MotionEvent;
- Cómo declarar el diseño de 7'inch Tablet Android?
- ¿Puedo validar completamente las renovaciones de suscripción en la aplicación de Google Play por el servidor?