>

Fórum

Fórum da RL System, voltado para analistas, programadores etc. Tudo sobre linguagem de programação e desenvolvimento Full Stack: Banco de Dados, Android, C#, Java, .NET, PHP, Node, Javascript, TypeScript, Front, HTML e muito mais.



[ANDROID] Como utilizar canvas no android


Olá, estou fazendo o curso android e já tenho um conhecimento em java
gostaria de saber como que faço para utilizar o canvas no android sei que
utiliza o draw e etc, mas não consigo implementar nada, gostaria de saber
por exemplo como desenhar um circulo ou um retângulo por exemplo
se poder me mostrar um "repaint" demostrando como fazer uma pequena
animação eu ficaria agradecido, sei que não está ligada totalmente ao escopo
do curso, mas de poderem me dar um caminho, já suficiente :)



4 Respostas


ola Marcos,

ta aqui exemplo

o xml


android:layout_width="fill_parent" android:layout_height="fill_parent"
>
android:id="@ id/canvas"
android:layout_width="fill_parent" android:layout_height="fill_parent"
/>



o Quadrado.java

package com.example.quadrado;

import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.util.AttributeSet;
import android.view.View;



public class Quadrado extends View {
// para definir a cor RGB
private Paint pincelVermelho;
private Paint pincelPreto;
private Paint pincelAzul;

public Quadrado(Context context) {
this(context, null);
}

public Quadrado(Context context, AttributeSet attrs) {
super(context, attrs);
setBackgroundColor(Color.LTGRAY);

// Vermelho
pincelVermelho = new Paint();
pincelVermelho.setARGB(255, 255, 0, 0);

// Preto
pincelPreto = new Paint();
pincelPreto.setARGB(255, 0, 0, 0);

// Azul
pincelAzul = new Paint();
pincelAzul.setARGB(255, 0, 0, 255);

// Configura a View para receber foco e tratar eventos de teclado
setFocusable(true);
}

@Override
public void onDraw(Canvas canvas) {
super.onDraw(canvas);

int y = 10;

// Desenha um quadrado
canvas.drawRect(10, y, 10 50, y 50, pincelAzul);

// desenha uma linha
canvas.drawLine(50, 50, 100, 100, pincelPreto);

// desenha um circulo
canvas.drawCircle(100, 100, 20, pincelVermelho);
}
}


e a classe Teste.java

package com.example.quadrado;

import android.app.Activity;
import android.os.Bundle;
import com.example.quadrado.R;

public class Teste extends Activity {
@Override
public void onCreate(Bundle b) {
super.onCreate(b);
setContentView(R.layout.quadrado);
}
}

e o manifest.xml

package="com.example.quadrado"
android:versionCode="1"
android:versionName="1.0" >

android:minSdkVersion="8"
android:targetSdkVersion="17" />

android:allowBackup="true"
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
android:name="com.example.quadrado.Teste"
android:label="@string/app_name" >











é um exemplo simples ......





android:name="com.example.quadrado.Teste"
android:label="@string/app_name" >









faltou essa parte






naum ta aparecendo todo androidmanifest.xml