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

Android 5.0中新增了ripple类型,即波纹效果

在res中添加一个新的文件夹drawable-v21,用于保存波纹效果

button_ripple_orange.xml

[html]  view plain  copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <ripple xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:color="#FFEEEEEE">  
  4.   
  5.     <item android:drawable="@drawable/button_bg_orange" />  
  6.   
  7. </ripple>  

ripple相当于layer-list层叠效果,ripple元素的color属性即指定了波纹效果的颜色,但必须是8位颜色代码值,前两位指定了波纹的透明度,后六位即波纹颜色,以黑色000000及白色FFFFFF效果最为明显

<item android:drawable="@drawable/button_bg_orange" />即指定了按钮的正常状态的显示效果
 
 
button_bg_orange.xml
 
 
[html] view plain copy
  1. <?xml version="1.0" encoding="utf-8"?>  
  2. <shape xmlns:android="http://schemas.android.com/apk/res/android"  
  3.     android:shape="rectangle">  
  4.   
  5.     <corners android:radius="@dimen/button_corner_radius" />  
  6.     <solid android:color="@color/theme" />  
  7.   
  8. </shape>  
将button_ripple_orange设置为按钮Background即可在按钮上实现点击波纹效果,但必须是API 21以上版本
 
 
如果只是普通的波纹效果,当你使用了Material主题后,波纹动画会自动应用在所有的控件上,也可以自己来设置其属性来调整到我们需要的效果。


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

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

android:background="?android:attr/selectableItemBackgroundBorderless"波纹超出边界
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值