我将 a 设置stateListAnimator为浮动操作按钮,但它不起作用。
XML 中的浮动操作按钮是这样的:
<com.google.android.material.floatingactionbutton.FloatingActionButton
android:id="@+id/fab"
android:src="@drawable/ic_add"
android:tint="@color/sakurairo"
android:clickable="true"
android:focusable="true"
android:elevation="8dp"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_margin="16dp"
android:layout_gravity="bottom|end"
android:stateListAnimator="@animator/fab_animation"
app:layout_behavior=".ui.ScrollAwareFabBehavior"
app:backgroundTint="@color/wasurenagusairo" />
动画 XML 是这样的:
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item android:state_pressed="true">
<set>
<objectAnimator
android:duration="@android:integer/config_shortAnimTime"
android:propertyName="translationZ"
android:valueTo="10dp"
android:valueType="floatType" />
<objectAnimator
android:duration="200"
android:propertyName="scaleX"
android:valueTo="1.05" />
<objectAnimator
android:duration="200"
android:propertyName="scaleY"
android:valueTo="1.05" />
</set>
</item>
<item android:state_pressed="false">
<set>
<objectAnimator
android:duration="100"
android:propertyName="translationZ"
android:valueTo="2dp"
android:valueType="floatType" />
<objectAnimator
android:duration="200"
android:propertyName="scaleX"
android:valueTo="1.0" />
<objectAnimator
android:duration="200"
android:propertyName="scaleY"
android:valueTo="1.0" />
</set>
</item>
</selector>
stateListAnimator在 FAB 中如何工作?
提前致谢。