我必须再问一次,因为之前没有人回答我的问题(我的问题不是重复的如何在 Android 画布上用动画绘制路径?)。请仔细阅读并帮助我(如果可能的话)提供代码。上面的例子对我来说不清楚,路径是在绘图流程上创建的。这不是我要找的......
我想绘制一条已存在于我的 View 类中的路径,通过按时间间隔绘制其点来模拟动画。我应该如何修改我的 onDraw 类来存档它?
public void onDraw(Canvas canvas) {
paint.setStyle(Paint.Style.STROKE);
paint.setStrokeWidth(6);
paint.setColor(Color.parseColor("#10BCC9"));
if(path != null && !path.isEmpty())
canvas.drawPath(path, paint);
}
我认为这是一个简单的问题,我不相信没有简单的答案......请帮助......
我发现绘制a没有解决方案Path
与时间间隔。我的解决方案是这个,我重置路径并从点数组再次创建它。 i 和 j 是全局变量:
public void onDraw(Canvas canvas) {
if (i < strokes.length && j < strokes[i].length)
{
if (i == 0 && j == 0)
{
path.reset();
path.moveTo(strokes[0][0].x, strokes[0][0].y);
}
if(j == 0)
strokePaint.setColor(Color.RED);
else
strokePaint.setColor(Color.parseColor("#10BCC9"));
path.lineTo(strokes[i][j].x, strokes[i][j].y);
canvas.drawPath(path, strokePaint);
for(int k = 0; i < textCords.size() && k <= i ; k++)
canvas.drawText(String.valueOf(k+1), textCords.get(k).x, textCords.get(k).y, textPaint);
if (j == strokes[i].length-1)
{
i++;
j = 0;
if (i < strokes.length)
path.moveTo(strokes[i][0].x, strokes[i][0].y);
}
else
j++;
if (i < strokes.length)
{
postInvalidateDelayed(5);
}
else
{
i = 0;
j = 0;
animation = false;
}
}
}
我希望它能帮助某人...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)