Hoje abordaremos como é possível capturar as ações de toque na tela do android.
É muito fácil colocar essa ação em nosso código, basta implementar o método onTouchEvent(MotionEvent event) na tela que desejamos ter tal ação.
Declarado esse método na Activity que deseja ter a ação, ele sempre será chamado quando ocorrer alguma ação de contato na tela do android.
Colocando a mão na massa
No nosso exemplo, iremos demonstrar como é feita a captação de quando o usuário toca a tela, quando o usuário deixa a tela e por último, quando o usuário deixa a tela.
@Override public boolean onTouchEvent(MotionEvent event) { // capturando ação do momento. int action = event.getAction(); switch (action) { case MotionEvent.ACTION_DOWN: Toast.makeText(getApplicationContext(), "Dedo tocou a tela", Toast.LENGTH_LONG).show(); break; case MotionEvent.ACTION_MOVE: Toast.makeText(getApplicationContext(), "Dedo moveu na tela", Toast.LENGTH_LONG).show(); break; case MotionEvent.ACTION_UP: Toast.makeText(getApplicationContext(), "Dedo deixou a tela", Toast.LENGTH_LONG).show(); break; } return super.onTouchEvent(event); }Este método recebe como parâmetro o objeto MotionEvent que é usado para reportar qualquer ação que ocorra na tela, seja através do dedo, caneta, mouse ou trackball.
Este objeto tem o método getAction() que nos retorna qual ação está ocorrendo no momento.
Com o valor que temos na variável action podemos saber qual é o tipo de ação do momento.
No caso, estamos usando o mesmo MotionEvent para sabe se:
- MotionEvent.ACTION_DOWN - usuário tocou a tela.
- MotionEvent.ACTION_MOVE - usuário moveu na tela.
- MotionEvent.ACTION_UP - usuário deixou a tela.
Para demonstrar que a ação capturada foi a programada de fato, é usando o método makeText() da view Toast (para quem não sabe, Toast é uma view utilizada para mensagens curtas. Para mais informações, consulte a API).
Para mais informações, segue alguns links da documentação do Android:
MotionEvento: http://developer.android.com/reference/android/view/MotionEvent.html
Toast: http://developer.android.com/reference/android/widget/Toast.html
Até a próxima, amigos.
Excelente! Vou usar este método para monografia
ResponderExcluirEu consigo capturar fora de activitys? ou seja, pegar qualquer toque na tela.
ResponderExcluir