如何使自定义波纹无边框

时间:2016-02-16 15:42:13

标签: android android-layout ripple

这是我的自定义涟漪

<ripple xmlns:android="http://schemas.android.com/apk/res/android"
        android:color="?android:colorControlHighlight">
        <item android:drawable="@color/white" />
</ripple>

如何使其无边界?

2 个答案:

答案 0 :(得分:5)

根据RippleDrawable documentation,将针对其子图层的合成屏蔽纹波。

在这种情况下,你的绘图将被涟漪中唯一的项目掩盖。

要有一个没有遮罩的波纹,你可以这样定义你的波纹:

<ripple android:color="?android:colorControlHighlight" />

答案 1 :(得分:0)

当我偶然发现这个问题时,我遇到了同样的问题。我已经轻松解决了我的问题,并且有一个代码

顺便说一句,它仅适用于高度等于宽度的情况。否则不是?attr/selectableItemBackgroundBorderless,而是波纹椭圆形

<?xml version="1.0" encoding="utf-8"?>
<ripple android:color="@color/grayPrimary" xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@android:id/mask">
        <shape android:shape="oval">
            <solid android:color="#000000"/>
        </shape>
    </item>
</ripple>