Android 2D

Páginas: 7 (1735 palabras) Publicado: 13 de octubre de 2014
10.
 Gráficos
 en
 dos
 dimensiones
 

 

10.1
 El
 método
 onDraw()
 

 

Los
 botones,
 como
 el
 resto
 de
 vistas,
 poseen
 su
 propia
 implementación
 del
 método
 
onDraw().
 Este
 método
 se
 ejecuta
 automáticamente
 cuando
 se
 representa
 la
 vista.
 
Veamos
 un sencillo
 ejemplo
 que
 dibuja
 una
 bandera
 belga:
 
/src/MyButton.java
package com.programming.android.prueba;
import
import
import
import
import

android.content.Context;
android.graphics.Canvas;
android.graphics.Color;
android.graphics.Paint;
android.widget.Button;

public class MyButton extends Button {
Paint paint = new Paint();
public MyButton(Contextcontext) {
super(context);
}
public void onDraw(Canvas canvas) {
paint.setColor(Color.BLACK);
canvas.drawRect(30, 10, 90, 100, paint);
paint.setColor(Color.YELLOW);
canvas.drawRect(30, 40, 90, 70, paint );
paint.setColor(Color.RED);
canvas.drawRect(30, 70, 90, 100, paint );
}
}

Comencemos
 el
 estudio
 de
 la
 clase
 MyButton
 por
 los
 colores.
 
Los colores
 en
 Android
 vienen
 representados
 como
 enteros
 en
 forma
 de
 4
 bytes:
 
alfa,
 rojo,
 verde
 y
 azul
 (ARGB).
 Cada
 componente
 está
 comprendida
 entre
 0
 y
 255.
 
La
 primera
 mide
 la
 transparencia:
 0
 es
 totalmente
 transparente
 y
 255
 totalmente
 
opaco. Para
 las
 demás,
 0
 significa
 que
 la
 componente
 no
 contribuye
 al
 color
 y
 255
 
que
  contribuye
  al
  100%.
  Por
  ejemplo,
  el
  azul
  opaco
  al
  100%
  es
  0xFF0000FF,
  y
  el
 
verde
 0xFF00FF00.
 
 
Para
  utilizar
  un
  color
  básico
  puedes
  recurrir
 a
  una
  de
  las
  constantes
  de
  la
  clase
 
Color:
 
int color = Color.WHITE;

Sin
  embargo,
  es
  muy
  recomendable
  crear
  recursos
  de
  color
  en
  el
  archivo
 
colors.xml,
 ya
 que
 pueden
 ser
 actualizados
 cómodamente:
 

 


 

1
 


 
/res/values/colors.xml#F0F0F0


Para
 acceder
 al
 recurso
 de
 color
 desde
 Java
 es
 necesario
 hacer
 lo
 siguiente:
 
int color = getResources().getColor(R.color.background_color);

El
 método
  onDraw()
 tiene
 un
 parámetro
 de
 tipo
  Canvas,
 que
 es
 el
 marco
 en
 el
 que
 
se
  dibuja.
  Para
  dibujar  es
  necesario
  instanciar
  un
  objeto
  de
  tipo
  Paint
  donde
  se
 
especifica,
 entre
 otras
 cosas,
 el
 color
 de
 la
 pintura
 y
 el
 ancho
 de
 la
 brocha:
 
 
Paint paint = new Paint();
paint.setColor(Color.BLACK);

La
 clase
  Canvas
 dispone
 de
 métodos
 para
 dibujar líneas,
 rectángulos,
 círculos,
 etc.
 
El
 prototipo
 de
 drawRect()
 es
 el
 siguiente:
 
void drawRect (float left, float top, float right, float bottom, Paint paint);

donde
 (left, top)
 son
 las
 coordenadas
 del
 extremo
 superior
 izquierdo
 y
 (right,
bottom)
 las
 del
 extremo
 inferior
 derecho
 del rectángulo.
 
Por
 ejemplo,
 la
 siguiente
 instrucción
 
 
canvas.drawRect(30, 10, 90, 100, paint);

dibuja
 un
 rectángulo
 cuyo
 vértice
 superior
 izquierdo
 está
 en
 (30,
 10)
 y
 el
 inferior
 
derecho
 en
 (90,
 100):
 

El
  método
  onDraw()
  dibuja
  dos
  rectángulos
  más
  sin...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • 2D
  • ANDROID
  • android
  • Andro
  • android
  • Android
  • Android
  • Android

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS