btn_ripple_mask.xml
<?xml version="1.0" encoding="utf-8"?>
<ripple
xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@android:color/darker_gray"><!--点击之后的颜色 必须要-->
<item
android:id="@android:id/mask"
android:drawable="@android:color/white"/>
</ripple>
设置 android:foreground="@drawable/btn_ripple_mask"
和android:background="@drawable/btn_ripple_mask"
,都不行
@erehmi 如果图片是jpg格式的,设置background 好像没用,设置了foreground可以
以下为官方Meterial样式下的列表Item和Button预设的Ripper Drawable:
以下为item_background_material.xml:
以下为item_background_borderless_material.xml:
以下为Widget.Material.Button.Borderless对应的设置和xml:
引用如下:
ImageView设置如下:
注意: 一定要设置
android:clickable="true"
或者 通过代码设置setOnClickListener(...)
.你要用这些个酷炫的东西是有代价的, 就是你的设备必须是Android 5.0 (API level 21), 低于这个版本的机器是不支持的.
你可以自己写一个自定义View继承自ImageView。然后自己在onTouchEvent里面启动一个Animator画一个半径逐渐增大的圆就可以了。自己动手,丰衣足食。这样写还有一个好处就是,没有版本限制,低于5.0也是可以使用的。