我有一个Path,我创建了一次,并为其添加了Rect。
在某些情况下,我将Path.offset(...)
或Path.transform(...)
偏移路径
然后使我的画布无效以重新绘制路径。
但是这条路并没有在新的地方重新绘制。
我使用Path.computeBounds(...)
检查了路径边界,我看到矩形移动了。所以我不明白为什么Canvas.drawPath(...)
没有重新绘制新地方的路径。
我设法在新地方重新绘制路径的唯一方法是创建新路径并将转换后的路径添加到其中,但我并不是每次都想要这样做。
m_objPath.offset(p_fltDx, p_fltDy);
//////////////////////////////
// With this lines it makes the path redrawn in the right place - but why should i ??
Path objPath = new Path();
objPath.addPath(m_objPath);
m_objPath = objPath;
//////////////////////////////
m_objCanvas.invalidate();
.
.
.
m_objCanvas.drawPath(m_objPath, m_objPaint);
有什么建议吗?
答案 0 :(得分:0)
我针对Android 4.1和Android 2.3测试了Path.offset(..)
的问题:
offset(..)
上工作正常。 所以只需使用Path ...