Cómo hacer fondo degradado en android

Quiero crear un fondo degradado donde el degradado esté en la mitad superior y haya un color sólido en la mitad inferior, como en la siguiente imagen:

No puedo porque elcenterColor se extiende para cubrir la parte inferior y superior.

¿Cómo puedo hacer un fondo como la primera imagen? Como puedo hacer pequeñocenterColor eso no esta extendido?

Este es el código en XML del botón de fondo arriba.

<shape xmlns:android="http://schemas.android.com/apk/res/android" android:shape="rectangle" >
    <gradient 
        android:startColor="#6586F0"
        android:centerColor="#D6D6D6"
        android:endColor="#4B6CD6"
        android:angle="90"/>
    <corners 
        android:radius="0dp"/>


</shape>

Respuestas a la pregunta(9)

Su respuesta a la pregunta