Está en la página 1de 2

Practica Dibujando en la pantalla

dibujo

Fig. 1 Corriendo la aplicación en el emulador Fig. 2 Dibujando con el mouse

Usando la noción de evento en combinación con drawPath() es posible escribir una sencilla aplicación para dibujaren
la pantalla, el siguiente ejemplo permite dibujar en color azul sobre un fondo color crema. En el emulador se dibuja
con el ratón, en el teléfono con u dedo

Código del programa


package com.example.dibujo;

import androidx.appcompat.app.AppCompatActivity;

import android.os.Bundle;
import android.view.MotionEvent;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.content.Context;
import android.view.View;
import android.view.Menu;
public class MainActivity extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
//setContentView(R.layout.activity_main);
SpecialView my_View=new SpecialView(this);
setContentView(my_View);
}
}

class SpecialView extends View {


float x = 50;
float y = 50;
String accion = "accion";
Path path = new Path();

public SpecialView(Context context) {


super(context);

@Override
protected void onDraw(Canvas canvas) {
canvas.drawColor(Color.rgb(255, 255, 150));
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(6);
paint.setColor(Color.BLUE);
if (accion == "down") {
path.moveTo(x, y);
}
if (accion == "move") ;
{
path.lineTo(x, y);
}
canvas.drawPath(path, paint);

@Override
public boolean onTouchEvent(MotionEvent evento) {
x = evento.getX();
y = evento.getY();
if (evento.getAction() == MotionEvent.ACTION_DOWN) {
accion = "down";
}
if (evento.getAction() == MotionEvent.ACTION_MOVE) {
accion = "move";
}
invalidate();
return true;
}

También podría gustarte