波纹动画图像按钮难度

时间:2017-05-28 16:05:37

标签: android xml material-design android-animation imagebutton

我试图在按下按钮时发挥涟漪效果,我已经跟踪了许多关于堆栈溢出和网络的指南,但没有取得任何成功。有人能指出我正确的方向吗?我的XML看起来是正确的,但是当我点击按钮时没有任何反应。

谢谢!

Ripple_animation.xml

<?xml version="1.0" encoding="utf-8"?>

<!-- thanks to http://www.viralandroid.com/2015/09/how-to-add-ripple-effect-to-android-button.html !-->

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="@color/ripple_Orange"
    tools:targetApi="lollipop">
    <item android:id ="@android:id/mask">
        <shape android:shape="rectangle">
            <solid android:color = "@color/ripple_Orange"/>
        </shape>
    </item>

</ripple>

将涟漪效果应用于按钮

 <ImageButton
        android:id="@+id/one_button"
        android:background="@drawable/ripple_animation"
        android:padding="0dp"
        android:adjustViewBounds="true"
        android:scaleType="fitXY"
        android:layout_width="85dp"
        android:layout_height="85dp"
        app:srcCompat="@drawable/one_button_500_500"
        android:layout_below="@+id/four_button"
        android:layout_alignParentStart="true" />

2 个答案:

答案 0 :(得分:1)

您将纹波设置为background属性 这意味着它被绘制在图像src后面。

相反,将其设置为此视图的前景或其父级:

android:foreground="@drawable/ripple_animation"

答案 1 :(得分:1)

尝试此操作以显示设备默认涟漪效应

git checkout --orphan new-branch
git commit -m 'init from template project'