Вывод кнопки Capture на Android

Можно ли снимать кнопку нажатием кнопки, используя onClickListener() и OnClick() ?

Я хочу увеличить размер кнопки при нажатии и переместить ее обратно к исходному размеру при отпускании клика. Может ли кто-нибудь помочь мне, как это сделать?

Вы должны установить OnTouchListener на свою кнопку.

 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(); } } }; 

Вы также должны обрабатывать MotionEvent.ACTION_CANCEL. Таким образом, код будет:

 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(); } } }; 

Вместо этого используйте OnTouchListener или OnKeyListener.

Возможно, вы сможете сделать это, переопределив onKeyDown и onKeyUp . Они оба наследуются от android.widget.TextView . См. android.widget.Button для (немного) дополнительной информации.

У Эрика Нордвика есть правильный ответ, за исключением того, что

 event.getAction() == MotionEvent.ACTION_UP 

Никогда не был казнен для меня. Вместо этого я реализовал

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

Для сенсорного ACTION_UP.