如何在FAB中的Src图像上方产生波纹效果

How to give ripple effect above Src image in FAB

我在 android 中使用 FAB,我增加了 Src 图像的大小以覆盖 FAB,但现在每当我单击 FAB 时,涟漪效应都会显示在图像后面而不是上面,这不会'给人一种FAB被点击的感觉

我的FAB代码

    <com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:maxImageSize="@dimen/_130sdp"
    android:layout_gravity="center|bottom"
    android:contentDescription="@string/app_name"
    app:srcCompat="@drawable/ic_radial_gradient"
    app:backgroundTint="@color/white"
    app:elevation="0dp"
    app:layout_anchor="@id/bottomAppBar"
    app:tint="@null"/>

您可以简单地使用 foreground 作为您的 View 来实现可点击的效果: 应该是这样的:

<com.google.android.material.floatingactionbutton.FloatingActionButton
    android:id="@+id/fab"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    app:maxImageSize="@dimen/_130sdp"
    android:layout_gravity="center|bottom"
    android:contentDescription="@string/app_name"
    app:srcCompat="@drawable/ic_radial_gradient"
    app:backgroundTint="@color/white"
    app:elevation="0dp"
    app:layout_anchor="@id/bottomAppBar"
    app:tint="@null"
    android:foreground="?android:attr/selectableItemBackgroundBorderless"
/>

我们只需要将此行添加到 View 以在单击时显示涟漪效果。

android:foreground="?android:attr/selectableItemBackgroundBorderless"

尝试将此行添加到您的 XML

android:foreground="?android:attr/selectableItemBackgroundBorderless"