我知道我们可以简单地为?android:attr/selectableItemBackgroundBorderless
设置背景属性,为视图获取无限的连锁效果。
我们也可以简单地使用自己的波纹绘制来定制颜色:
<!-- An unbounded blue ripple. --/>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/blue" />
结果是一个无界圆,涟漪效应从中心涟漪开始到角落。
我尝试使用Rectangle而不是圆形构建相同的效果,但我从来没有找到相同的效果。例如,我尝试使用掩码视图:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:id="@android:id/mask">
<shape android:shape="rectangle">
<solid android:color="?android:colorAccent" />
</shape>
</item>
</ripple>
更多样本:http://blog.stylingandroid.com/ripples-part-3/
结果是一个矩形但不是unbounded
。它将受限于视图边界(如文档中的掩码所述)
以及涟漪效果不同(对于我在Android-M预览版中)
我想知道是否有任何解决方案可以简单地构建矩形无界,具有与默认无界纹波相同的波纹效果(如上所述)?
或者为了解决问题,我应该去自定义视图?