Seletor Android com imagem de fundo e gradiente

Eu sei que há post semelhante a isso, mas não consegui encontrar minha resposta em nenhum deles. Então, eu tenho esse XML drawable:

<code><?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true">
    <bitmap
        android:src="@drawable/bm_btn_background"
        android:tileMode="repeat"
        android:gravity="center" />
</item>
<item android:state_enabled="true">
    <shape android:shape="rectangle">
        <gradient
            android:startColor="#a0e0b071"
            android:endColor="#a0a67637"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#5c3708" />
        <corners
            android:radius="5dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
<item android:state_pressed="true" >
    <shape>
        <gradient
            android:startColor="#a0a67637"
            android:endColor="#a0e0b071"
            android:angle="270" />
        <stroke
            android:width="1dp"
            android:color="#5c3708" />
        <corners
            android:radius="5dp" />
        <padding
            android:left="10dp"
            android:top="10dp"
            android:right="10dp"
            android:bottom="10dp" />
    </shape>
</item>
</code>

Eu estou tentando criar um botão com uma imagem repetida como plano de fundo e um gradiente aplicado a ele. Com este código eu vejo apenas a imagem de fundo, não o gradiente, nem a borda e os cantos arredondados. Além disso, quando clico no botão, ele não muda (o gradiente deve mudar). Eu não sei o que há de errado com esse código? Se, em vez de um seletor, eu usar uma lista de camadas, obtenho o resultado desejado, mas isso não muda quando pressiono o botão. Obrigado pela ajuda!

questionAnswers(4)

yourAnswerToTheQuestion