关闭

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

标签: Android动画select水波纹
7896人阅读 评论(3) 收藏 举报
分类:

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

原创作品,欢迎转载


6
0
查看评论

Android L限制Ripple水波纹范围大小

Ripple简介Android 5.0之后google推出了Material Design,Botton默认的触摸反馈会有水波纹涟漪效果。而这种水波纹的效果实现主要依赖于RippleDrawable。以下会介绍Ripple的基本使用及关于控制水波纹范围的三种处理方法,仅作点明思路及学习笔记不作具体实...
  • kong92917
  • kong92917
  • 2017-01-09 17:44
  • 3089

聊聊Android5.0中的水波纹效果

水波纹效果已经见怪不怪了,但是你会自定义水波纹吗?
  • u012702547
  • u012702547
  • 2016-08-26 11:31
  • 12227

Android 中Layout实现点击水波纹特效

Android5.0以后TextView,Button、TabLayout等控件默认都有点击水波纹效果,那布局类LinearLayout、RelativeLayout、TableLayout、FrameLayout、AbsoluteLayou如何实现A:使用 ripple、API-21+。B:三方库...
  • HKlsijun
  • HKlsijun
  • 2017-05-29 20:26
  • 751

快速集成Android的水波纹效果解决低版本报错问题

本文章使用Android5.0中其中一个炫酷的效果,点击水波纹扩散效果( Ripple Effect).同时解决低于5.0版本的兼容问题. 让你半分钟搞定这个效果同时解决掉低版本系统不兼容问题. 先将水波纹图片展示,这个是自己截图比较简陋的:    首先...
  • insist_hui
  • insist_hui
  • 2016-07-06 16:44
  • 2284

Android5.0水波纹效果适配4.X

最近研究Google Material Design 发现档次比公司UI图高很多,有木有.这里先实现个水波纹效果来感受下 效果图: 1. 系统有界效果.xml设置:android:background="?android:attr/selectableItemBackground&quo...
  • u012080791
  • u012080791
  • 2017-03-29 15:02
  • 838

Android中按钮的水波纹点击效果的实现

关于按钮水波纹的点击效果,这个是我在http://blog.csdn.net/singwhatiwanna/article/details/42614953这篇文章读到的。写得真心不错,我只是站在巨人的肩上而已。 我加了一些注释,以至于我们更好的理解这篇不错的文章 下面是主要源代码: publ...
  • Poison_H
  • Poison_H
  • 2015-02-08 11:53
  • 3428

去掉TabLayout下的阴影,AppBarLayout下的阴影

有时候我们发现TabLayout的下面有阴影,效果如下: 开始还以为是TabLayout在高版本系统上的特殊表现呢,没有在意,UI提出说感觉不好看就查了一下,原来是在TabLayout放在AppBarLayout里面才有这样的效果,只需要对AppBarLayout设置一个属性: app:ele...
  • dreamsever
  • dreamsever
  • 2016-09-26 18:20
  • 8556

Android开发之TabLayout组件的使用

5.0新组件TabLayout TabLayout提供了一个水平布局来显示选项卡。 要显示的选项卡的人口数是通过TabLayout.Tab实例完成的。 您可以通过newTab()创建选项卡。 从那里可以分别通过setText(int)和setIcon(int)来更改选项卡的标签或图标。 ...
  • z_x_Qiang
  • z_x_Qiang
  • 2017-07-15 13:47
  • 157

Android 实现所有View的点击水波纹效果

点击水波纹效果,是安卓5.0以上的一个新特技。 一开始,我只会在普通的Button上添加这个效果。 利用新建主题的方法: name="MyButton" parent="Theme.AppCompat.Light"> name=&quo...
  • b_neck
  • b_neck
  • 2016-08-11 17:27
  • 1050

Android 添加点击效果(5.0之后水波纹效果)

关于 button,textView,等点击效果API 21之前:在drawable里建一个xml文件,里面写: <?xml version="1.0" encoding="utf-8"?> <selector xmlns:andro...
  • luciferVSme
  • luciferVSme
  • 2016-03-31 10:14
  • 4720
    个人资料
    • 访问:21051次
    • 积分:290
    • 等级:
    • 排名:千里之外
    • 原创:6篇
    • 转载:7篇
    • 译文:0篇
    • 评论:6条
    文章分类
    文章存档
    最新评论