Change your
<style name="button">
<item name="android:background">@drawable/button_shape</item>
</style>
to
<style name="button" parent="@android:style/Widget.Button">
<item name="android:background">@drawable/button_shape</item>
</style>
adding the correct parent property will make you buttons click-able.
For different states of button you can use
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true" >
<shape>
<gradient
android:startColor="@color/MyButtonDarkGray"
android:endColor="@color/MyButtonLightGray"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/Gray" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item android:state_focused="true" >
<shape>
<gradient
android:endColor="@color/LightGreen"
android:startColor="@color/DarkGreen"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/Gray" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
<item>
<shape>
<gradient
android:endColor="@color/LightGreen"
android:startColor="@color/DarkGreen"
android:angle="270" />
<stroke
android:width="0dp"
android:color="@color/Gray" />
<corners
android:radius="3dp" />
<padding
android:left="10dp"
android:top="10dp"
android:right="10dp"
android:bottom="10dp" />
</shape>
</item>
</selector>