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视频,然后聚合市场所有的直播平台,真心不想在手机上装太多软件,有兴趣的可以扫码下载研究一下

原创作品,欢迎转载


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页