在安卓5.0以上实现点击波纹效果

022341121029554

本文介绍的是Android5.0中其中一个炫酷的效果,点击水波纹扩散效果(Ripple Effect).

以下介绍的实现方式都是调用Android5.0的新API,并非自定义实现,所以支持在Android5.0的设备.

而大家想兼容低系统版本的话,就需要新建v21(即Android5.0)的Resource Directory.

第一步:在drawable下建立一个xml,为水波纹的背景

menu.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/white" />
</shape>

第二步:在drawable-v21文件夹下建立一个ripple的xml,为水波纹的实现文件,其中<ripple. .. android:color=”@color/darkgray”>为水波纹的颜色,item则与上面的xml同样即可

menu_bg.xml:

<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
    android:color="@color/darkgray">
    <item>
        <shape android:shape="rectangle">
            <solid android:color="#FFFFFF" />
            <corners android:radius="0dp" />
        </shape>
    </item>
    <item android:drawable="@drawable/menu" />
</ripple>

第三步:为了在安卓5.0以下能够同样运行,我们在drawable下也建立一个menu_bg.xml,可以根据需求加入selector属性

menu_bg.xml:

<?xml version="1.0" encoding="utf-8"?>
<shape xmlns:android="http://schemas.android.com/apk/res/android"
    android:shape="rectangle">
    <solid android:color="@color/white" />
</shape>

第四步:在需要添加的控件使用android:background:”@drawable/menu_bg.xml”

注:android:button=”@null”可以去掉圆点

例:

<RadioButton
    android:id="@+id/main_tab_car"
    android:layout_width="0dp"
    android:layout_height="50dp"
    android:background="@drawable/menu_bg"
    android:button="@null"/>

好啦。这样就写完了,参考自: http://www.cnblogs.com/wingyip/p/4548093.html?utm_source=tuicool&utm_medium=referral