如何制作带边框和波纹效果的透明按钮?

How to make a transparent button with borders and ripple effect?

Whosebug 上有一些答案,但 none 似乎有帮助。我想要实现的不仅是透明背景,还有单击按钮和边框时发生的发光。

到目前为止我尝试了什么:

 android:background="?android:attr/selectableItemBackground"

结果(未点击按钮时):

结果(点击按钮时):

这基本上就是我想要实现的,除了按钮没有边框。

我尝试设置 strokeColorstrokeWidth 但那没有做任何事情。我仍然得到与上面相同的结果。

我也尝试使用 Material Outlined Button 样式,但效果很好,但是当点击按钮时我无法获得发光效果。基本上就像在 textView 中单击一样。

我能找到的最接近我的问题的答案是:

除边框颜色外,一切正常。出于某种原因,它显示的是紫色(这是我的原色)而不是黑色。

如果您使用 Material Components 主题,并将 Material outlined button 样式应用到按钮,它将显示为我认为您正在描述的样子。

<Button
    android:id="@+id/button"
    style="@style/Widget.MaterialComponents.Button.OutlinedButton"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:text="@string/button" />