A vue de nez, je dirais :

Une View redéfinissant onDraw() pour dessiner les cases et les symboles dans ces cases
Une SurfaceView par dessus qui dessine des rectangles opaques uniquement aux...