我试图将 Canvas 对象保存在 onDraw() 方法中。
这是因为我在 onDraw 方法中使用了 foreach 循环,结果是:
canvas.DrawText(文本项,x,y,textpaint);
(我必须这样做,因为我在遮罩区域周围绘制文本)
我现在尝试的是这样的:
@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);
}
调试时我发现它看起来不错,但结果是空的。
让它发挥作用的最佳方法是什么?
也许是因为这个:
if (hasrun = false)
我猜你打算这样做:
if (hasrun == false)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)