Não consigo desenhar quando o usuário toca na tela
23 respostas
P
Pitagoras
Galera,
Vejam meu código:
@OverridepublicbooleanonTouchEvent(MotionEventevent){Stringtag=null;if(i==0){static_x=event.getX();static_y=event.getY();i=1;}else{static_x1=event.getX();static_y1=event.getY();}if(i==1){Paintp=newPaint();p.setColor(Color.BLACK);p.setStyle(Paint.Style.STROKE);Canvascanvas=newCanvas();canvas.drawColor(Color.BLUE);canvas.drawLine(static_x,static_y,static_x1,static_y1,p);System.out.println("Era p/ desenhar na tela");i=0;}returnfalse;}
O Canvas simplesmente não desenha nada na tela. Quero desenhar uma linha quando o usuário tocar na tela.
Uma dúvida…o onDraw ñ é chamado qdo a View é renderizada?? Pois é…eu ñ gostaria de desenhar qdo a Vies fosse renderizada, porém, no evento do toque da tela!!
Obrigado pela resposta!!
Marky.Vasconcelos
Exato!
suaView.invalidate();//Fara que sua view se re-renderize.
P
Pitagoras
Como assim??
Ñ entendi!!
P
Pitagoras
Coloco esse trecho de código dentro do “onDraw”?
Me ajude!
P
Pitagoras
?? :?: :?: :?:
Marky.Vasconcelos
No onDraw voce deve desenhar tudo que deseja.
Voce deve processar os novos valores depois de ler o evento no onTouch, e depois disso, invocar o invalidate() para desenhar com os novos valores.
P
Pitagoras
Amigo,
Eu fiquei até tarde tentando fazer, porém, sem sucesso!
Será q vc ñ poderia postar ao menos um exemplo básico e funcional, p/ q eu faça o resto?
Somente p/ me dar um norte e ñ ficar quebrando a kabeça…sou novo em Android.
Quero que quando o usuário tocar na tela seja desenhado um circulo ou uma linha por exemplo!!
Grato!
P
Pitagoras
Se alguém tiver um exemplinho básico eu agradeço!!
Vlw
Marky.Vasconcelos
Se voce ler o artigo que postei com atenção, vai perceber como isso é feito.