En esta unidad veremos instrucciones para dibujo en Android.
Proyecto 0024
Este proyecto implica trabajar con la parte lógica.
Hay que modificar a MainActivity.java de forma profunda de la
siguiente forma, primero veamos como nos presenta el diseño
inicial:
package com.example.dell.proyecto0024;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
se modificara a la siguiente forma:
donde se agrega la clase paint y es donde se configura la forma
de dibujar como el color, lineas, etc.
package com.example.dell.proyecto0024;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
Vista vista = new
Vista(this); //definicion de nuevo objeto
setContentView (vista); // se pone en contexto
}
class Vista extends View{
public Vista (Context
context){ //se crea la clase vista declarada
anteriormente
super (context);
}
public void onDraw(Canvas
canvas) { //camvas es el lienzo donde
se dibujan los elementos
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE); //atributo
de la funcion paint
paint.setStrokeWidth(5);
paint.setColor(Color.BLUE); //cambio de color
int ancho = canvas.getWidth();
canvas.drawRect(10,70,ancho-10,20,paint); //esto
dibujara un rectangulo en al parte superior
}
}
}
prueba este código en tu celular
establecemos coordenadas para definir la posición de inicio.
package com.example.dell.proyecto0024;
import android.content.Context;
import android.graphics.Canvas;
import android.graphics.Color;
import android.graphics.Paint;
import android.graphics.Path;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.MotionEvent;
import android.view.View;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle
savedInstanceState) {
super.onCreate(savedInstanceState);
Vista vista = new
Vista(this); //definicion de nuevo objeto
setContentView (vista); // se pone en contexto
}
class Vista extends View{
float x = 50;
float y = 50;
String accion = "accion";
Path path = new Path();
public Vista (Context
context){ //se crea la clase vista declarada
anteriormente
super (context);
}
public void onDraw(Canvas
canvas) { //camvas es el lienzo donde
se dibujan los elementos
Paint paint = new Paint();
paint.setStyle(Paint.Style.STROKE); //atributo
de la funcion paint
paint.setStrokeWidth(5);
paint.setColor(Color.BLUE); //cambio de color
int ancho = canvas.getWidth();
if(accion=="down")
path.moveTo(x,y);
if(accion == "move")
path.lineTo(x,y);
//canvas.drawRect(10,70,ancho-10,20,paint); //esto
dibujara un rectangulo en al parte superior
canvas.drawPath(path,paint);
}
public boolean
onTouchEvent(MotionEvent e){
x =
e.getX();
y =
e.getY();
if(e.getAction() == MotionEvent.ACTION_DOWN)
//si se mueve hacia abajo cuando toma esta accion
accion = "down";
if(e.getAction() == MotionEvent.ACTION_MOVE)
accion = "move";
invalidate();
return
true;
}
}
}
REFERENCIAS
Proyecto0024
https://www.momandgeek.com/aplicacion-de-dibujo-app-inventor/
http://www.androidcurso.com/index.php/recursos/35-unidad-4-graficos-en-android/133-canvas