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

    <!-- Pressed state -->
    <item
            android:state_enabled="true"
            android:state_pressed="true">
        <set>
            <objectAnimator
                    android:duration="100"
                    android:propertyName="translationZ"
                    android:valueTo="2dp"
                    android:valueType="floatType" />
            <objectAnimator
                    android:duration="0"
                    android:propertyName="elevation"
                    android:valueTo="6dp"
                    android:valueType="floatType" />
        </set>
    </item>

    <!-- Hover state. This is triggered via mouse. -->
    <item
            android:state_enabled="true"
            android:state_hovered="true">
        <set>
            <objectAnimator
                    android:duration="100"
                    android:propertyName="translationZ"
                    android:valueTo="2dp"
                    android:valueType="floatType" />
            <objectAnimator
                    android:duration="0"
                    android:propertyName="elevation"
                    android:valueTo="6dp"
                    android:valueType="floatType" />
        </set>
    </item>

    <!-- Focused state. This is triggered via keyboard. -->
    <item
            android:state_enabled="true"
            android:state_focused="true">
        <set>
            <objectAnimator
                    android:duration="100"
                    android:propertyName="translationZ"
                    android:valueTo="2dp"
                    android:valueType="floatType" />
            <objectAnimator
                    android:duration="0"
                    android:propertyName="elevation"
                    android:valueTo="6dp"
                    android:valueType="floatType" />
        </set>
    </item>

    <!-- Base state (enabled, not pressed) -->
    <item android:state_enabled="true">
        <set>
            <objectAnimator
                    android:duration="100"
                    android:propertyName="translationZ"
                    android:startDelay="100"
                    android:valueTo="0dp"
                    android:valueType="floatType"
                    tools:ignore="UnusedAttribute" />
            <objectAnimator
                    android:duration="0"
                    android:propertyName="elevation"
                    android:valueTo="3dp"
                    android:valueType="floatType" />
        </set>
    </item>

    <!-- Disabled state -->
    <item>
        <set>
            <objectAnimator
                    android:duration="0"
                    android:propertyName="translationZ"
                    android:valueTo="0dp"
                    android:valueType="floatType" />
            <objectAnimator
                    android:duration="0"
                    android:propertyName="elevation"
                    android:valueTo="0dp"
                    android:valueType="floatType" />
        </set>
    </item>

</selector>
