Android自定义按钮波纹/脉冲效果



我已经创建了一个自定义圆形按钮,使用如下代码:

    <Button
    android:id ="@+id/StartButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="Start"
    android:background="@drawable/button_bg_round"
    android:padding="15dp"
    android:textSize="30sp"
    android:textStyle="bold"
    android:textColor="#ffffff"
    android:layout_centerVertical="true"
    android:layout_centerHorizontal="true" />

这里button_bg_round的定义如下:

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
<item>
    <shape android:shape="oval">
        <stroke android:color="#ffffff" android:width="5dp" />
        <solid android:color="#3aeaee"/>
        <size android:width="200dp" android:height="200dp"/>
    </shape>
</item>
</selector>

现在,我想添加一个圆形波纹/脉冲效果/动画时,按钮被点击。我试图寻找一个可能的解决方案在谷歌和SO,但找不到任何相关的这样一个按钮。

你可以让你的画像这样:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:color="@color/colorAccent"
    tools:targetApi="lollipop"> <!-- ripple effect color -->
    <item android:id="@android:id/background">
        <shape android:shape="oval">
            <stroke android:color="#ffffff" android:width="5dp" />
            <solid android:color="#3aeaee"/>
            <size android:width="200dp" android:height="200dp"/>
        </shape>
    </item>
</ripple>

其中android:color inside ripple为效果的颜色

最新更新