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?

  • ¿Puedo aumentar un botón onclick-area de forma programática?
  • Haciendo que EditText y Button tengan la misma altura en Android
  • ¿Cómo puedo agregar botones en el diseño de forma programática uno por uno en varias líneas?
  • El botón recortado no recibe la entrada táctil
  • Cómo crear un botón Atrás en el diseño del material
  • Maximizar el tamaño del texto del botón de Android
  • Cómo configurar la imagen de fondo del botón a través del código
  • Android: Cómo crear el botón de diapositiva (encendido / apagado)
  • 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.