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

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>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid:color="@color/redcolorPressed"></solid>

                </shape>

            </item>

            <item android:state_pressed="true">

                <shape>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid:color="@color/redcolorPressed"></solid>

                </shape>

            </item>

            <item android:state_pressed="false">

                <shape>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid: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>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid:color="@color/redcolorPressed"></solid>

                </shape>

            </item>

            <item android:state_pressed="true">

                <shape>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid:color="@color/redcolorPressed"></solid>

                </shape>

            </item>

            <item android:state_pressed="false">

                <shape>

                    <cornersandroid:radius="2dp"></corners>

                    <solidandroid:color="@color/colormain"></solid>

                </shape>

            </item>

        </selector>

    </item>

</ripple>


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

另外本人喜欢看视频看直播,自己就写了一个简单的小工具,可以看爱奇艺和腾讯的VIP视频,然后聚合市场所有的直播平台,真心不想在手机上装太多软件,有兴趣的可以扫码下载研究一下

原创作品,欢迎转载


评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值