Allora, mi rispondo da solo con un pò di ritardo.
Per impostare le proprietà Drawable via codice esiste il metodo
Codice:
setCompoundDrawablesWithIntrinsicBounds(Drawable left, Drawable top, Drawable right, Drawable bottom)
Il problema è che così non riesco a vedere il testo sul button che aggiungo con il metodo
Codice:
setText(String text)
Per quanto riguarda il layout sto pensando di utilizzare un RelativeLayout ma prima devo risolvere questo problema dei button