普通按钮添加波纹点击效果
Android 5.0以后新增了按钮的波纹点击效果,AppCompatButton是自带波纹效果的,但是如果项目中有需要动态改变按钮的颜色,就会丢失波纹效果(如果只需要改变一次的话,可以通过新建样式style解决),这个时候我们可以利用5.0新增的ripple类型来自定义波纹点击效果。
自定义ripple文件
button_ripple_login.xml:
ripple相当于layer-list层叠效果,ripple元素的color属性即指定了波纹效果的颜色,但必须是8位颜色代码值,前两位指定了波纹的透明度,后六位即波纹颜色,以黑色000000及白色FFFFFF效果最为明显。而<item android:drawable="@drawable/button_bg" />即指定了按钮的正常状态的显示效果。
根据按钮可点击状态,动态改变按钮颜色
login_button_selector.xml:
这样既能动态改变按钮背景颜色,也可以有波纹点击效果了。
其他设置
可以通过如下代码设置波纹的背景:
android:background="?android:attr/selectableItemBackground" 波纹有边界
android:background="?android:attr/selectableItemBackgroundBorderless" 波纹超出边界