自定义视图中的波纹效果

时间:2019-01-27 21:57:22

标签: android android-canvas android-view android-custom-view ripple

我当前正在创建一个Android视图,在其中使用它时,我将在水龙头的坐标周围显示一种波纹。

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

如果有人以前遇到过相同的问题,并且乐于分享分享一些操作技巧,将不胜感激。

1 个答案:

答案 0 :(得分:0)

我终于找到了解决方案。这不是一个完美的选择,但目前可以使用。

这是我编写的代码。基本上,当我需要时,我将布尔值更改为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()
        }
    }

我希望其他人有时会觉得有用!

马修