Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Lanzamiento del botón de captura en Android

¿Es posible capturar la liberación de un botón al igual que onClickListener() click con onClickListener() y OnClick() ?

Quiero aumentar el tamaño de un botón cuando se presiona y moverlo de nuevo al tamaño original cuando se suelta el clic. ¿Puede alguien ayudarme a hacer esto?

5 Solutions collect form web for “Lanzamiento del botón de captura en Android”

Debe establecer un OnTouchListener en su 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(); } } }; 

Tienes que manejar MotionEvent.ACTION_CANCEL también. Así que 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(); } } }; 

Utilice un OnTouchListener o OnKeyListener en su lugar.

Podría ser capaz de hacer esto por sobreescribir el onKeyDown y onKeyUp . Ambos se heredan de android.widget.TextView . Consulte el documento android.widget.Button para (un poco) más información.

Eric Nordvik tiene la respuesta correcta, excepto que

 event.getAction() == MotionEvent.ACTION_UP 

Nunca fue ejecutado por mí. En su lugar implementé

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

Para el toque ACTION_UP.

FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.