Je pense que vous voulez un 9-drawable (* .9.png). Ils vous permettent de créer des graphiques extensibles et de déclarer une zone de remplissage de contenu. Les boutons d'actions d'Android les utilisent.
http://developer.android.com/guide/developing/tools/draw9patch.html
http://developer.android.com/guide/topics/graphics/2d-graphics.html#nine-patch
Pour les boutons, vous aurez probablement envie de les faire changer en fonction de quel état ils sont. Vous utilisez dessinables StateList pour cela.
http://developer.android.com/guide/topics/resources/drawable-resource.html#StateList
Voici un exemple d'un bouton StateList d'une de mes applications pour rendre un bouton barre d'action.
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" android:drawable="@color/slight_white" /> <!-- pressed -->
<item android:state_focused="true" android:drawable="@android:color/transparent" /> <!-- focused -->
<item android:drawable="@android:color/transparent" /> <!--menu_normal default -->
</selector>
Dans ce cas, j'utilise des couleurs mais vous pouvez bien sûr remplacer cela par n'importe quel dessin. Y compris les 9 drawables que vous apportez.
Pour un exemple complet, regardez le code source fourni avec le SDK.
% ANDROID_SDK_ROOT% \ platforms \ android-12 \ data \ res \ drawable \ btn_default.xml
oui, je l'ai fait et encore confus. – xiao