Junior
O que é Canvas no Android?
sobes.tech IA
Resposta da IA
O Canvas no Android representa uma superfície para desenhar. É um objeto que fornece métodos para desenhar primitivas gráficas (pontos, linhas, retângulos, círculos, texto, imagens) em um mapa de bits (Bitmap) ou outra superfície.
Conceitos principais:
- Desenho:
Canvasfornece uma API para realizar operações de desenho, comodrawPoint(),drawLine(),drawRect(),drawCircle(),drawText(),drawBitmap(). - Sistema de coordenadas: Utiliza um sistema de coordenadas bidimensional, onde o ponto (0,0) está no canto superior esquerdo.
- Estado:
Canvastem um estado que inclui transformações atuais (deslocamento, escalonamento, rotação) e a região de recorte (clip region), que podem ser guardadas e restauradas (save()erestore()). - Paint: Os objetos
Paintsão usados para definir estilos de desenho, como cor, espessura da linha, sombreado, fontes, etc.Canvasusa oPaintatual para cada operação de desenho.
Exemplo de uso numa View personalizada:
// Dentro do método onDraw()
public void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Criar objeto Paint
Paint paint = new Paint();
paint.setColor(Color.RED); // Definir cor
// Desenhar retângulo
canvas.drawRect(10, 10, 100, 100, paint);
// Desenhar círculo
paint.setColor(Color.BLUE);
canvas.drawCircle(150, 150, 50, paint);
// Definir texto
paint.setColor(Color.BLACK);
paint.setTextSize(30);
canvas.drawText("Hello, Canvas!", 10, 200, paint);
}
Canvas está estreitamente relacionado com objetos View. Quando o sistema desenha um View, ele cria um objeto Canvas e o passa ao método onDraw() do View. Depois, o View usa esse Canvas para desenhar o seu conteúdo.