Eu encontrei este ótimo tópico que descreve como "comer o bolo e ter também", ou seja, usar a imagem para um em Buttonvez de ImageButton(que não permite SetText(), redimensionamento, etc.).
Isso é feito usando o atributo Exibir:
android:background="@drawable/bgimage"
O único problema com isso é que estica a imagem para caber no tamanho do botão.
Com exceção de codificar um tamanho de botão fixo (em pixels!), Há uma maneira de dizer ao Android para não esticar a imagem de fundo e cortá-la ou preenchê-la?
ImageViewparece interessante. Notei que tem um atributo que não está emButton:android:cropToPadding. Não me importo de usar um ImageView em vez disso, contanto que tenhasetOnClickListener()- o que é verdade. O que vou perder ao mudar deButtonparaImageView?