为什么android.graphics.DashPathEffect双倍间隔距离?

时间:2015-09-29 00:28:39

标签: android android-canvas

当animatedProgressPercentage = 0f时,以下代码从我的路径开始到我的路径的中途,当它达到1f时,它将接近结束。

dashPathEffect = new DashPathEffect( new float[]{
    new PathMeasure(path, false).getLength()/4f, // length of intervals 'on' 
    aVeryLargeNumber}, // length of intervals 'off' 
    0f - (pathLength/2f)*animatedProgressPercentage); // offset length to start (aka phase)
paint.setPathEffect(dashPathEffect);

当我将/4f切换为/8f时,一半变为四分之一。我的问题是,为什么不/4f画出四分之一的路径?为什么我需要在阶段中将pathLength除以2?为什么它只是接近结束而不是整个事情?

我也在做这个

viewRect.set(0, 0, w, h);
m.setRectToRect(boundsRect, viewRect, Matrix.ScaleToFit.CENTER);
path.transform(m);

但使用scale = viewRect.width() / boundsRect.width();作为乘数似乎根本没有帮助。也许我完全误解了DashPathEffect的预期用法,或者我需要在这里显示更多代码以便自己理解?请让我知道!

0 个答案:

没有答案