I have different Path's in my List and I want to draw one Path on Canvas at a time but I am executing a for loop and while drawing one path another path starts to be drawn on Canvas. What can I do to stop the for loop or wait until the path is drawn. for loop is given below.
for ( i = 0; i < mPaths.size(); i++) {
SvgHelper.SvgPath svgPath = mPaths.get(i);
svgPath.paint.setAlpha(255);
canvas.drawPath(svgPath.path, svgPath.paint);
}
onDraw(Canvas canvas) method code. Size of mPaths List variable is 24. The thing is want to draw one path at a time but when i keep it in for loop all 24 paths are drawn simultaneously.
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
// Log.w("On draw", "Executing Ondraw");
synchronized (mSvgLock) {
canvas.save();
canvas.translate(getPaddingLeft(), getPaddingTop()
- getPaddingBottom());
canvas.save();
canvas.translate(getPaddingLeft(), getPaddingTop()
- getPaddingBottom());
for (i = 0; i < mPaths.size(); i++) {
//
Log.w("no of times", String.valueOf(i));
//
synchronized (Lock) {
SvgHelper.SvgPath svgPath = mPaths.get(i);
svgPath.paint.setAlpha(255);
canvas.drawPath(svgPath.path, svgPath.paint);
}
// break;
}
canvas.restore();
}
canvas.save();
canvas.translate(0.0f, getHeight() - getPaddingBottom() - mRadius
* 3.0f);
}