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

    <!-- The first selection that comes back true is the one that comes 
         back, regardless of whether others are also true. -->
    <!-- I usually use dp, so that it's proportional across multiple 
         pixel densities. -->
         
    <!--  Default Disabled -->
    <item android:state_enabled="false">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" 
                	 />
            <padding android:left="10dp"
                	 android:right="10dp"
                	 android:top="10dp"
                	 android:bottom="10dp"
                	 />
            <stroke android:width="1dp"
                	android:color="@color/black"
                	 />
            <gradient
                	android:startColor="@color/disabled_button_gradient_start"
                	android:endColor="@color/button_gradient_end"
                	android:angle="270"
                	/>
        </shape>
    </item>

    <!--  Default Pressed -->
    <!--    reverse the gradient for button presses to give the illusion
            of movement -->
    <item android:state_selected="false"
          android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" 
                	 />
            <padding android:left="10dp"
                	 android:right="10dp"
                	 android:top="10dp"
                	 android:bottom="10dp"
                	 />
            <stroke android:width="1dp"
                	android:color="@color/black"
                	 />
            <gradient
                	android:startColor="@color/button_gradient_end"
                	android:endColor="@color/unselected_button_gradient_start"
                	android:angle="270"
                	/>
        </shape>
    </item>

    <!--  Default Unpressed -->
    <item android:state_selected="false"
          android:state_pressed="false">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" 
                	 />
            <padding android:left="10dp"
                	 android:right="10dp"
                	 android:top="10dp"
                	 android:bottom="10dp"
                	 />
            <stroke android:width="1dp"
                	android:color="@color/black"
                	 />
            <gradient
                	android:startColor="@color/unselected_button_gradient_start"
                	android:endColor="@color/button_gradient_end"
                	android:angle="270"
                	/>
        </shape>
    </item>

    <!--  Selected Pressed -->
    <!--    reverse the gradient for button presses to give the illusion
            of movement -->
    <item android:state_selected="true"
          android:state_pressed="true">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" 
                	 />
            <padding android:left="10dp"
                	 android:right="10dp"
                	 android:top="10dp"
                	 android:bottom="10dp"
                	 />
            <stroke android:width="1dp"
                	android:color="@color/black"
                	 />
            <gradient
                	android:startColor="@color/button_gradient_end"
                	android:endColor="@color/selected_button_gradient_start"
                	android:angle="270"
                	/>
        </shape>
    </item>

    <!--  Selected Unpressed -->
    <item android:state_selected="true"
          android:state_pressed="false">
        <shape android:shape="rectangle">
            <corners android:radius="4dp" 
                	 />
            <padding android:left="10dp"
                	 android:right="10dp"
                	 android:top="10dp"
                	 android:bottom="10dp"
                	 />
            <stroke android:width="1dp"
                	android:color="@color/black"
                	 />
            <gradient
                	android:startColor="@color/selected_button_gradient_start"
                	android:endColor="@color/button_gradient_end"
                	android:angle="270"
                	/>
        </shape>
    </item>

</selector>