As in the example below, I want to make a gradient background with a solid colour in the bottom and a gradient in the top.

I can't because the centerColor spreads out to cover the bottom and top.

How can I create a background that looks like the first picture? How can I create a small, uniform centre colour?
The XML code for the background button is shown above.
<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>