我试图在一个onDraw()方法中保存Canvas对象。 这是因为我在onDraw方法中使用了foreach循环,导致: canvas.DrawText(textitem,x,y,textpaint);
(我必须这样做,因为IM周围绘制一个蒙面区域中的文本)在onDraw()中保存画布;
什么即时通讯正试图是这样的:
@Override
public void onDraw(Canvas canvas)
{
if (hasrun = false)
{
for(CustomTextViewDrawItem item : drawItemList)
{
canvas.drawText(item.Text, item.X, item.Y, textPaint);
}
if (eLabel.backgroundGradient != null)
{
canvas.drawPath(path, fillPaint);
}
canvas.save();
savedCanvas = canvas ;
}
else
{
canvas = savedCanvas;
}
hasrun = true;
super.onDraw(canvas);
}
调试,当我看到它看起来不错,但出来空。 什么是最好的方式来得到这个工作?
你怎么从保存期望()函数?也许你误解了它是如何工作的。 –
是的老鼠是对的,我想你误解了canvas.save()。 – user370305
你想要做什么?请将您添加'Canvas'的地方发布到您的活动中,以及如何声明两个画布字段。 –