I want to add the elevation animation to my android.support.v7.widget.CardView
, just like the material style Button
s do. I've tried to set a StateListAnimator
:
android:stateListAnimator="@anim/selector_raise"
which points to my selector in res/anim
:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_enabled="true" android:state_pressed="true">
<objectAnimator android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ" android:valueTo="@dimen/touch_raise"
android:valueType="floatType" />
</item>
<item>
<objectAnimator android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ" android:valueTo="0dp"
android:valueType="floatType" />
</item>
</selector>
but Android Studio gives me the error:
Element selector must be declared
What's the right way to do that?
I've tried your code, maybe you have simply add the state to second selector element.
So change this line
with this
The complete code will be
You tried to create this .xml in
res/anim
folder.You should create on
res/animator
, if don't exist is easy to create.But if you search for the problem it already give you a possible solution