Lanzamiento de botón de captura en Android

¿Es posible capturar la liberación de un botón justo cuando onClickListener() clic usando onClickListener() y OnClick() ?

Quiero boost el tamaño de un botón cuando se lo presiona y moverlo al tamaño original cuando se suelta. ¿Alguien puede ayudarme a hacer esto?

Debes configurar un OnTouchListener en tu botón.

 button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if(event.getAction() == MotionEvent.ACTION_DOWN) { increaseSize(); } else if (event.getAction() == MotionEvent.ACTION_UP) { resetSize(); } } }; 

También debe manejar MotionEvent.ACTION_CANCEL. Entonces el código será:

 button.setOnTouchListener(new OnTouchListener() { @Override public boolean onTouch(View v, MotionEvent event) { if (event.getAction() == MotionEvent.ACTION_UP || event.getAction() == MotionEvent.ACTION_CANCEL) { increaseSize(); } else if (event.getAction() == MotionEvent.ACTION_UP) { resetSize(); } } }; 

use un OnTouchListener u OnKeyListener en su lugar.

Es posible que pueda hacer esto anulando onKeyDown y onKeyUp . Ambos son heredados de android.widget.TextView . Consulte el documento android.widget.Button para (un bit) más información.

Eric Nordvik tiene la respuesta correcta, excepto que

 event.getAction() == MotionEvent.ACTION_UP 

nunca se ejecutó para mí. En cambio, implementé

  button.setOnClickListener(new OnClickListener() { @Override public boolean onClick(View v) { resetSize(); } }; 

para el toque ACTION_UP.