setTargetElevation()方法已经弃用,推荐使用StateListAnimator,不过要注意Api>=21才能使用
res文件夹下新建一个animator资源文件夹,然后在这里用xml文件定义我们需要的StateListAnimator,在里面创建一个appbar_elevation.xml文件
appbar_elevation.xml
<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
<objectAnimator
android:duration="1"
android:propertyName="elevation"
android:valueTo="2dp"
android:valueType="floatType" />
</item>
</selector>
引用
<com.google.android.material.appbar.AppBarLayout
android:id="@+id/appBarLayout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:stateListAnimator="@animator/appbar_elevation">