android - tomar - como mandar un pantallazo por whatsapp
Lanzamiento de botón de captura en Android (5)
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();
}
}
};
¿Es posible capturar la liberación de un botón justo cuando onClickListener()
clic usando onClickListener()
y OnClick()
?
Quiero aumentar 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?
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.
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.
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.