Como adicionar uma sombra borrada a um botão?

Preciso adicionar sombreamento desfocado ao meu botão:

Tentei criar um plano de fundo com o drawable xml da lista de camadas, mas ele não se parece com o borrão.

<?xml version="1.0" encoding="utf-8"?>
<layer-list xmlns:android="http://schemas.android.com/apk/res/android">

    <!-- Drop Shadow Stack -->
    <item>
        <shape>
            <corners android:radius="45dp" />
            <padding
                android:bottom="2dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <stroke
                android:width="6dp"
                android:color="#007879E8" />

        </shape>
    </item>
    //////   10 more items
        <item>
        <shape>
            <corners android:radius="45dp" />
            <padding
                android:bottom="2dp"
                android:left="1dp"
                android:right="1dp"
                android:top="1dp" />

            <stroke
                android:width="6dp"
                android:color="#177879E8" />


        </shape>
    </item>

    <!-- Background -->
    <item>
        <shape>
            <corners android:radius="45dp" />
            <stroke
                android:width="2dp"
                android:color="@color/main_purple_text_color" />
        </shape>
    </item>

</layer-list>

Também tentei usar o elemento background background atrás do botão com png blured, mas ele usa muitos recursos e não consigo criar seletor para alterar o plano de fundo ao passar o mouse ou clicar.

Eu preciso ter um único arquivo de plano de fundo para o botão e usar o seletor para alterar o desfoque e o gradiente ao passar o mouse / clicar. Alguma idéia de como obter esse efeito com o Android SDK?

ATUALIZAÇÃO 1

Obrigado a todos por respostas, mas não estou perguntando como criar gradiente. Eu já fiz isso. Eu preciso criar uma sombra borrada.

questionAnswers(5)

yourAnswerToTheQuestion