Esta foi um pedido de um colega meu.
Para os acostumados em "desenhar" pelo método paint do Java AWT/Swing, sabia que dá para "converter" este tipo de coisa para Android?
Para isso, o primeiro passo seria reescrever o método onDraw de uma View:
/**
*Classe que herdar de android.view.View
**/
public class DrawView extends View {
//Objeto de auxilio para desenhar
private Paint paint = new Paint();
/**
*Construtor da classe
*@param context Contexto da aplicação
*/
public DrawView(Context context) {
super(context);
}
/**
*Reescrevendo o método onDraw da View
*@param canvas Objeto para "desenhar" na tela
*/
@Override
protected void onDraw(Canvas canvas) {
//Chamando o método reescrito da "superclasse" (classe-pai)
super.onDraw(canvas);
//Pintando a tela inteira de preto
canvas.drawColor(Color.BLACK);
//Pintando um quadrado verde 50x50 na posição 100x100 deste objeto (view)
paint.setColor(Color.GREEN);
canvas.drawRect(100, 100, 150, 150, paint);
}
}
Agora, em sua Activity principal (classe que é executada pelo Android), basta adicionar a view que criamos para mostra-la na aplicação:
/**
* Classe que herda de android.app.Activity
*/
public class MainActivity extends Activity {
/**
*Reescrevendo o método onCreate da Activity (chamado no inicio da "atividade")
*@param savedInstanceState Objeto que contém o último estado salvo.
*/
@Override
public void onCreate(Bundle savedInstanceState) {
//chamando o mesmo método da classe-pai ("superclasse")
super.onCreate(savedInstanceState);
//obtendo as propriedades da tela
Display screen = getWindowManager().getDefaultDisplay();
//criando a view principal
DrawView drawView = new DrawView(getApplicationContext());
//adicionando a view para ser mostrada em tela inteira
addContentView(drawView, new LayoutParams(screen.getWidth(), screen.getHeight()));
}
}
Se tudo funcionar bem, um quadrado verde aparecerá em seu sistema. :)
Até mais!
Nenhum comentário:
Postar um comentário