android 自定义ripple

来源:互联网 发布:深圳软件企业认定 编辑:程序博客网 时间:2024/06/06 22:19

在Android L使用了RippleDrawable类,用一个水波纹扩散效果在两种不同的状态间过渡。
使用Material Design样式的应用,button默认带有该效果。除了默认的效果外,系统还提供了另外两种效果,我们只把button的背景指定为:

  • ?android:attr/selectableItemBackground
  • ?android:attr/selectableItemBackgroundBorderless

任何view处于可点击状态,都可以使用RippleDrawable来达到水波纹特效。
我们也可以通过设置RippleDrawable的颜色属性来调节动画颜色,系统默认的颜色为主题的一个属性颜色:

  • android:colorControlHighlight,所以我们可以通过修改该颜色值来统一修改默认的水波纹颜色。
  • android:colorAccent可以修改checkbox的选中颜色

?android:attr/selectableItemBackground

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="?android:attr/colorControlHighlight">    <item android:id="@android:id/mask">        <color android:color="@android:color/white" />    </item></ripple>

?android:attr/selectableItemBackgroundBorderless

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="?android:attr/colorControlHighlight"></ripple>

自定义 限制扩散返回的ripple

drawable-v21 下新建一下ripple文件

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="@color/ripple_color">    <item android:id="@android:id/mask">        <color android:color="@color/ripple_color_mark" />    </item></ripple>

自定义 不限制扩散返回的ripple

drawable-v21 下新建一下ripple文件

<?xml version="1.0" encoding="utf-8"?><ripple xmlns:android="http://schemas.android.com/apk/res/android"    android:color="@color/ripple_color"></ripple>
原创粉丝点击