(转)Android5.0适配——水波纹点击效果

来源:互联网 发布:平板怎么进淘宝卖家 编辑:程序博客网 时间:2024/05/10 05:00

原地址:


Android5.0后默认的的点击效果带有高大上的水波纹,但是如果你还是按照5.0前那样设置背景的话那就不会有波纹,实现也超级简单



一,先在res文件夹下新建一个drawable-v21文件夹

二,把我们5.0之前的背景文件比如select或者shape等复制到这drawable-v21文件夹下

比如我之前是这样一个selector :

<selector xmlns:Android="http://schemas.android.com/apk/res/android"><item android:state_enabled="false"><shape><corners android:radius="2dp"></corners><solid android:color="@color/redcolorPressed"></solid></shape></item><item android:state_pressed="true"><shape><corners android:radius="2dp"></corners><solid android:color="@color/redcolorPressed"></solid></shape></item><item android:state_pressed="false"><shape><corners android:radius="2dp"></corners><solid android:color="@color/colormain"></solid></shape></item></selector>

在drawble-v21下改成这样就行了,就是在外面包一层ripple和一个item:

<ripple xmlns:android="http://schemas.android.com/apk/res/android" android:color="@color/ripple_material_dark">//水波纹的颜色<item><selector><item android:state_enabled="false"><shape><corners android:radius="2dp"></corners><solid android:color="@color/redcolorPressed"></solid></shape></item><item android:state_pressed="true"><shape><corners android:radius="2dp"></corners><solid android:color="@color/redcolorPressed"></solid></shape></item><item android:state_pressed="false"><shape><corners android:radius="2dp"></corners><solid android:color="@color/colormain"></solid></shape></item></selector></item></ripple>

当然你也可以用一些第三方的库来实现兼容版本的水波纹效果,不过我试了一些,效果始终没有原生的好,有时还会出现一些bug,所以个人觉得还是用原生的比较好,毕竟现在5.0以上越来越多,这是趋势,5.0以下慢慢淘汰,只要做好selector就行了


0 0