Android - State Selector Animations - Only animate de-press, NOT press
Animations on selector : (my drawables were colors )
De-Press (Out)android:exitFadeDuration="@android:integer/config_shortAnimTime"Press (In)android:enterFadeDuration="@android:integer/config_shortAnimTime"
Full example:
<selector xmlns:android="http://schemas.android.com/apk/res/android" android:enterFadeDuration="@android:integer/config_shortAnimTime" android:exitFadeDuration="@android:integer/config_shortAnimTime"><item android:state_checked="false" android:drawable="@color/transparent"/><item android:state_checked="true" android:drawable="@drawable/circle_blue"/></selector>
You can do something like this:
<?xml version="1.0" encoding="utf-8"?><animated-selector xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+id/selected" android:state_selected="true" android:drawable="@color/home_button_blue_down" /> <item android:id="@+id/usual" android:drawable="@android:color/transparent" /> <transition android:fromId="@+id/usual" android:toId="@+id/selected" > <animation-list> <!--fill in your animation here--> </animation-list> </transition></animated-selector>
Keep in mind animated-selector
is available only after API 21.
More info in this official guide
<selector xmlns:android="http://schemas.android.com/apk/res/android"android:enterFadeDuration="@android:integer/config_shortAnimTime"android:exitFadeDuration="@android:integer/config_longAnimTime"><item android:state_pressed="true" > <shape> <gradient android:startColor="#ffffff" android:endColor="#917777" android:angle="270" /> </shape></item><item android:state_pressed="false" > <shape> <gradient android:startColor="#ffffff" android:endColor="#d2adad" android:angle="270" /> </shape></item><item android:state_checked="true"> <color android:color="@color/black"/></item></selector>