M0286_Libro Curso
2: Avanzado en Android
public class Panel extends View { private Bitmap mBitmap;
public Panel(Context context) { super(context); mBitmap = BitmapFactory. } @Override public void onDraw(Canvas canvas) { canvas.drawColor(Color. BLACK ); R.drawable. seas );
decodeResource (getResources(),
canvas.drawBitmap(mBitmap, 20, 20, null);
}
}
} 2.1.2.2. Pintar imagen 2D
Ahora vamos a usar la clase SurfaceView . La ventaja de usar esta clase en vez de View , es la facilidad de sacar todo lo que quieras en la pantalla sin tener que trabajar con los diseños y los archivos XML. Es también la mejor manera de hacer animaciones personalizadas y, por supuesto, juegos.
Veamos sus diferencias en la siguiente tabla:
SURFACEVIEW
VIEW
SurfaceView es el tipo de vista caracterizado por contener una superficie (un objeto Surface) sobre la que dibujar. Proporciona una superficie en la que un sub proceso se puede ejecutar en la pantalla. Para usarlo necesitamos definir un hilo (Thread).
Estructura de datos cuyas propiedades contienen los datos de la capa, la información del área de la pantalla y que permite establecer el layout. Maneja la distribución de la pantalla y la interacción con el usuario.
Contiene los layout, drawing, focus change, scrolling, etc.
Vamos a ver esto realizando un nuevo proyecto. Lo creamos e introducimos los siguientes parámetros: ■ Project Name (nombre del proyecto): SeasGrafico2D. ■ Build Target (objetivo de compilación): Android 2.1. ■ Application name (nombre de la aplicación): Seas, Imagen 2D. ■ Package name (nombre del paquete): com.seas.ejemplo.seasgrafico2D. ■ Create Activity (crear actividad): SeasGrafico2D. ■ Min SDK Version: 7.
89
Made with FlippingBook - Online catalogs