关闭

Android 5.0+ 自定义普通按钮的ripple波纹效果

2782人阅读 评论(0) 收藏 举报
分类:

在Android L5.0中加入了触摸反馈动画。

其中最明显,最具代表性的就是波纹动画,比如当点击按钮时会从点击的位置产生类似于波纹的扩散效果。

波纹效果(Ripple):

当你使用了Material主题后,波纹动画会自动应用在所有的控件上,我们当然可以来设置其属性来调整到我们需要的效果。

可以通过如下代码设置波纹的背景:

android:background=”?android:attr/selectableItemBackground”波纹有边界

android:background=”?android:attr/selectableItemBackgroundBorderless”波纹超出边界

使用效果如下:

B1是不设任何背景的按钮

B2设置了?android:attr/selectableItemBackground

B3设置了?android:attr/selectableItemBackgroundBorderless

这里写图片描述

设置颜色

我们也可以通过设置xml属性来调节动画颜色,从而可以适应不同的主题:

android:colorControlHighlight:设置波纹颜色

android:colorAccent:设置checkbox等控件的选中颜色

比如下面这个比较粉嫩的主题,就需要修改动画颜色来匹配(如何设置主题颜色请参考该系列第一篇文章):
这里写图片描述

上面说了这么多,好像都没有说怎么自定义,下面进入正题。

styles.xml中配置:

<!-- Base application theme. -->
    <style name="AppTheme" parent="Theme.AppCompat.Light.NoActionBar">
        <!-- Customize your theme here. -->
        <item name="colorPrimary">@color/colorPrimary</item>
        <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
        <item name="colorAccent">@color/colorAccent</item>
        <item name="colorControlHighlight">@color/colorPrimary</item>
    </style>

定义colorControlHighlight属性就可以了。

注意:这里只是改变了波纹的颜色,形状并没有改变。

0
0
查看评论
发表评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场

触摸反馈(波纹效果Ripple)

在Android 5.0中加入了触摸反馈动画。其中最具代表性的就是波纹动画,点击按钮时会从点击的位置产生类似于波纹的扩散效果。当你使用了Material主题后,波纹动画会自动应用在所有的控件上,可以通...
  • qq_29159449
  • qq_29159449
  • 2016-04-06 09:06
  • 708

Android Ripple 按钮水波纹效果(二)优化

上一篇中我们讲了自定义ripple 水波纹效果,先来回顾一下效果吧! 看了以后感觉没甚么问题,我一开始也觉得很满意了,那好,我们拿Android 5.0自带的效果来对比一下 发现了不同之处没?点击...
  • jxxfzgy
  • jxxfzgy
  • 2015-04-30 08:19
  • 5633

Android Ripple 按钮水波纹效果(一)

看到android 5.0有一个按钮点击效果非常棒,先来看效果图: 但是这种效果只能在5.0的系统上有效果,如何在低版本上实现呢?
  • jxxfzgy
  • jxxfzgy
  • 2015-04-29 08:21
  • 4829

Android 5.0 Button 按钮水纹效果的适配问题

从5.0开始,一些控件的点击时候默认是有水纹效果的如下图以Button举例可以按照如下使用: 注意是android:theme<Button android:layout_width="...
  • u012045061
  • u012045061
  • 2016-03-24 17:28
  • 6848

Android Ripple 按钮水波纹效果(二)优化

上一篇中我们讲了自定义ripple 水波纹效果,先来回顾一下效果吧! 看了以后感觉没甚么问题,我一开始也觉得很满意了,那好,我们拿Android 5.0自带的效果来对比一下 发现了不同之处没?点击...
  • jxxfzgy
  • jxxfzgy
  • 2015-04-30 08:19
  • 5633

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

本文章使用Android5.0中其中一个炫酷的效果,点击水波纹扩散效果( Ripple Effect).同时解决低于5.0版本的兼容问题. 让你半分钟搞定这个效果同时解决掉低版本系统不兼容问题....
  • insist_hui
  • insist_hui
  • 2016-07-06 16:44
  • 2194

Android自定义组件系列【14】——Android5.0按钮波纹效果实现

今天任老师发表了一篇关于Android5.0中按钮按下的波纹效果实现《Android L中水波纹点击效果的实现》,出于好奇我下载了源代码看了一下效果,正好手边有一个Nexus手机,我结合实际效果看了一...
  • lxq_xsyu
  • lxq_xsyu
  • 2015-01-13 00:03
  • 7774

自定义view实现android5.0 ripple效果

思路:       重写Button在onTouchEvent中监听action_down事件,然后播放一个属性动画,动态的改变圆圈的半径,这样就产生了波纹效果              1....
  • zhanglongpro
  • zhanglongpro
  • 2015-11-14 21:40
  • 808

<android5.0>之Ripple水波纹效果

android 5.0 拥有ripple效果, 非常漂亮
  • u011748648
  • u011748648
  • 2015-11-13 14:59
  • 6381

android 自定义按钮实现水波纹效果

  • 2017-11-03 11:54
  • 2.30MB
  • 下载
    个人资料
    • 访问:10907851次
    • 积分:76565
    • 等级:
    • 排名:第23名
    • 原创:506篇
    • 转载:914篇
    • 译文:4篇
    • 评论:2257条
    打赏
    如果您认为本博客不错,读后觉得有收获,不妨打赏赞助我一下,让我有动力继续写出高质量的博客。



    赠人玫瑰,手有余香。分享技术,传递快乐。

    有心课堂,传递的不仅仅是技术!

    QQ交流群:250468947

    有心课堂会员,请加入VIP QQ交流群:213725333

    github
    我的视频
    博客专栏
    最新评论