Respostas:
Basta usar um ImageButton e fazer o plano de fundo como quiser e definir o ícone como o src.
<ImageButton
android:id="@+id/ImageButton01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/album_icon"
android:background="@drawable/round_button" />
basta usar um botão com propriedades android: drawableRight como este:
<Button android:id="@+id/btnNovaCompra" android:layout_width="wrap_content"
android:text="@string/btn_novaCompra"
android:gravity="center"
android:drawableRight="@drawable/shoppingcart"
android:layout_height="wrap_content"/>
Você pode apenas definir o onClick de um ImageView e também defini-lo como clicável, ou definir a propriedade drawableBottom de um botão normal.
ImageView iv = (ImageView)findViewById(R.id.ImageView01);
iv.setOnClickListener(new OnClickListener() {
public void onClick(View v) {
// TODO Auto-generated method stub
}
});
Você pode usar o botão:
1 - tornar o texto vazio
2 - definir o plano de fundo para ele
+3 - você pode usar o seletor para um botão mais útil e agradável
Sobre o botão de imagem você pode definir a fonte da imagem e o fundo da mesma imagem e deve ser (* .png) ao fazê-lo, você pode fazer qualquer design para o botão
e para mais botão de beleza, use o seletor // pesquise no Google;)