以下是类似的代码,但它不能正常工作。如果我将可绘制颜色切换为蓝色之类的颜色,则可以正常工作。
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:drawable="@android:color/transparent"/>
</ripple>
以下是类似的代码,但它不能正常工作。如果我将可绘制颜色切换为蓝色之类的颜色,则可以正常工作。
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:drawable="@android:color/transparent"/>
</ripple>
需要添加口罩:
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="?android:colorControlHighlight">
<item android:id="@android:id/mask">
<color android:color="@android:color/white" />
</item>
</ripple>
不知何故,@JMPergar的答案对我无效。
然而,我想到了这个解决方法:如果透明按钮后面的颜色是纯色(不是渐变或斑点图片),那么您可以将该颜色用作主按钮未按下时的颜色。
<?xml version="1.0" encoding="utf-8"?>
<ripple xmlns:android="http://schemas.android.com/apk/res/android"
android:color="@color/profile_transparent_button_pressed"
>
<item>
<shape>
<corners android:radius="@dimen/profile_transparent_button_corner_radius" />
<solid android:color="@color/profile_background" />
</shape>
</item>
</ripple>
其中@color/profile_transparent_button_pressed
是用于突出显示按钮的颜色,而@color/profile_background
是此按钮背后布局的颜色。它的功能确切符合预期,但仍然肯定是一种解决方法,因此您应该首先尝试@JMPergar的答案。