Android ajouter une image au bouton

Je veux ajouter une image à un Button (pas de imagebuttonle bouton peut contenir du texte ou une image; en plus de la imagebutton a le même problème), tout en conservant l'original android-bouton de style. Ainsi, l'ajout de android:background dans le XML ne coupe pas, qui va supprimer le android par défaut des boutons avec coins arrondis etc. (android.R.drawable.btn_default)

Est présent dans toutes les manières possibles?

Je pense, une façon est de faire un 9patch image pour le bouton est enfoncé (une pour le haut et une pour le bas) et onTouch Action_DOWN faire une couche d'arrière-plan dessiné et mis ça sur le bouton, et faire la même chose mais avec un autre 9patch pour onTouch Action_UPmais je pense que cela va diminuer les performances de l'application substantiellement, comme qui nécessitent beaucoup de ressources de la lecture et de la couche de fusion pour tous les clics sur le bouton (et pour mon application, qui sera beaucoup). Est ce que je dis ci-dessus est correcte?

EDIT: je ne peux pas déclarer la source de l'image dans le fichier XML, parce que je reçois les images à partir d'un service web, alors tout peut être mis sur les Boutons, mais il doit se faire par programmation.

source d'informationauteur stealthjong