Android: Vista personalizada basada en el diseño: ¿cómo?

Estoy creando una aplicación para Android y estoy luchando un poco con las vistas personalizadas.

Me gustaría tener una vista reutilizable que consta de algunos elementos de diseño estándar. Digamos una distribución relativa con algunos botones.

Cómo debo proceder. ¿Debo crear una clase de vista personalizada que extienda RelativeLayout y agregar programáticamente esos botones? ¿Pensaría que es un poco exagerado?

¿Cuál es la forma de hacerlo correctamente en Android?