Tienes que crear una clase derivada de View (o de TextView o de ImageView o de la que quieras, y así te ahorras código para calcular el tamaño).
En el XML tienes que indicar el nombre completo de la clase, p.ej. com.pepito.RectangleView
Y en el código Java en vez de manejar ImageView o View, como es un control personalizado y querrás controlarlo, usas directamente tu clase personalizada.
EDITO: En la misma web lo explican mejor en un capítulo anterior:
http://www.sgoliver.net/blog/?p=1457