Shape

xmlで定義した ShapeDrawable はよく使っていたんだけど、↓こんなことができることに今日気付いた。

Shape shape = new Shape() {
	public void draw(Canvas canvas, Paint paint) {
		paint.setColor(0xffff0000);
		canvas.drawRect(0, 0, canvas.getWidth(), canvas.getHeight(), paint);
	};
};
view.setBackgroundDrawable(new ShapeDrawable(shape));

onDraw() をオーバーライドするためだけに View を継承したクラスを作ったりしていたけど、すごく無駄なことをしていたみたい...。