如何禁用长按棒棒糖中的按钮时的涟漪效应?

Posted

技术标签:

【中文标题】如何禁用长按棒棒糖中的按钮时的涟漪效应?【英文标题】:How to disable ripple effect on long press of a button in lollipop? 【发布时间】:2015-09-24 15:52:11 【问题描述】:

当使用 sherlock 长按按钮时不会显示涟漪效果,但是当我使用 appcompat 时,它会在单击以及长按按钮时显示涟漪效果。 我不想在按下按钮时产生任何连锁反应

【问题讨论】:

【参考方案1】:

如果你使用MaterialButton,则设置app:rippleColor

<com.google.android.material.button.MaterialButton
    ...
    app:rippleColor="@android:color/transparent" />

感谢this 和this 的帮助。

【讨论】:

【参考方案2】:

如果您有 root,请在此处查看我的补丁 https://github.com/luv/android5_noripple

我的补丁只是将 android.graphics.drawable.Ripple 中的绘图函数替换为一个只返回 True 的函数。

您需要从手机中获取 /system/framework/framework.jar,对其进行修补,然后将其推回(为此您需要 root)。有关分步说明,请参阅链接。

【讨论】:

以上是关于如何禁用长按棒棒糖中的按钮时的涟漪效应?的主要内容,如果未能解决你的问题,请参考以下文章

Android v21 中的样式化材质按钮

在 Jetpack Compose 中单击时如何禁用涟漪效应

带有波纹动画的Android自定义视图边缘裁剪

如何从 MaterialCardView 中移除涟漪效应?

获得点击按钮的正确位置(涟漪效应)

recyclerview 中的触摸没有涟漪效应