我目前正在创建一个 Android View ,在其中使用点击它时,我将在点击的坐标周围显示一种波纹。

但我不确定该怎么做。我的第一个想法是使缓存无效并每次都使圆圈变大,但这样做似乎不合适也不高效。

如果有人以前遇到过同样的问题并且希望分享一些有关如何做到这一点的技巧,我们将不胜感激。

最佳答案

我终于找到了解决办法。不是一个完美的,但它现在有效。

这是我做的代码。基本上,当我需要它时,我将 bool 值更改为 true,以便我的 onDraw 函数知道它必须执行 drawFingerPrint 函数。
drawFingerPrint 函数,在另一端,只需在每次迭代之间画一个越来越大的圆,直到达到所需的直径

private fun drawFingerPrint(canvas: Canvas) {
        canvas.drawCircle(pointerX, pointerY, radius, paint)

        if(radius<= 100F){
            radius+=10F
            invalidate()
        }
        else{
            radius = 0F
            drawAroundFinger = false
            invalidate()
        }
    }

我希望其他人有时会发现这很有用!

马修

关于android - 自定义 View 中的波纹效果,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/54393260/

10-12 00:19
查看更多