29 de novembro de 2013

Desenhando na Tela através do Touch (DrawingBoard) - Android

Ao desenvolver uma aplicativo na empresa em que trabalho, uma de minhas necessidades foi a criação de um componente visual (i.e. View) responsável por tratar eventos de touch screen e que o mesmo desenha-se o pontos em que o dedo passava.

Para isso, criei uma classe chamada DrawingBoard que possui algumas peculiaridades como limpeza do que foi desenhado e pré-desenho de um texto para que o usuário saiba que ele pode desenhar na respectiva área.

Antes de mais nada, vou falar uma pouco sobre a classe View. Ela é responsável por todos os componentes visuais do Android, afinal, como o Java utiliza os conceitos de henrança dizemos que a classe View é pai (i.e. Super Class) de todos os componentes visuais no Android.

Com isso, nossa DrawingBoard também herdará de View para que a mesma possua suas propriedades. Em especial, utilizaremos os métodos onDraw() - responsável por renderizar na tela os traços baseado em coordenadas passadas pelo touch do usuário - e onTouchEvent - responsável por analisar as ações de movimentos do dedo do usuário.

DrawingBoard:

Note que o nosso DrawingBoard também nos dá a possibilidade de persistir a imagem de "assinatura" do usuário em seu cartão de memória SD ou na pasta cache do aplicativo. Para tanto, é necessário utilizar os métodos persistSignatureAtCache() ou persistSignatureAtSDCard() - lembre de colocar a permissão no AndroidManifest.xml para que o aplicativo possa escrever no SDCard.

Espero que ajude, abraço.

Nenhum comentário:

Postar um comentário