Java 画布未绘制所需对象
在loadpng块中编程reach…它还打印吐司“它应该画一些东西,但它不画圆,而是画我的数组列表中所有剩余的东西”Java 画布未绘制所需对象,java,android,android-canvas,Java,Android,Android Canvas,在loadpng块中编程reach…它还打印吐司“它应该画一些东西,但它不画圆,而是画我的数组列表中所有剩余的东西” 我不知道为什么它没有在加载png块中绘制我所需的对象。。。。任何帮助都将不胜感激请尝试删除invalidate()调用。在onDraw()内部调用invalidate()没有意义,因为首先调用oDraw()的是无效 您在onDraw()中调用它的事实可能会导致Android做一些意想不到的事情。请显示get\u paint()code。 @Override public void
我不知道为什么它没有在加载png块中绘制我所需的对象。。。。任何帮助都将不胜感激请尝试删除
invalidate()
调用。在onDraw()
内部调用invalidate()
没有意义,因为首先调用oDraw()
的是无效
您在onDraw()
中调用它的事实可能会导致Android做一些意想不到的事情。请显示get\u paint()
code。
@Override
public void onDraw(Canvas canvas) {
canvas.drawColor(Color.WHITE);
int p=0,cir=0,r=0,l=0;
if(load_png)
{
Toast_Display.long_message(getContext(),"should draw something");
canvas.drawCircle(300,300,100,get_paint(Color.WHITE,10));
invalidate();
}
for(int sequence : sequence_draw)
{
if(sequence==1)
{
int color = color_name.get(p);
int width = brush_width.get(p);
Path mypath = path_list.get(p);
Paint paint = get_paint(color,width);
canvas.drawPath(mypath, paint);
p++;
}
else if(sequence==2)
{
circle c = circles.get(cir);
canvas.drawCircle(c.getCx(),c.getCy(),c.getRadious(),get_paint2(c.getColor(),c.getWidth()));
cir++;
}
else if(sequence==3)
{
Rectangle rec = rectangles.get(r);
canvas.drawRect(rec.getCx(),rec.getCy(),rec.getDx(),rec.getDy(),get_paint2(rec.getColor(),rec.getWidth()));
r++;
}
else if(sequence==4)
{
Rectangle line = lines.get(l);
canvas.drawLine(line.getCx(),line.getCy(),line.getDx(),line.getDy(),get_paint(line.getColor(),line.getWidth()));
l++;
}
}
if(draw==true)
{
if(status.equals("circle"))
canvas.drawCircle(cx,cy,radious,get_paint2(current_circle_color,current_circle_width));
else if(status.equals("rec"))
canvas.drawRect(cx,cy,dx,dy,get_paint2(current_Rectngle_color,current_Rectngle_width));
else if(status.equals("line"))
canvas.drawLine(cx,cy,dx,dy,get_paint(current_line_color,current_line_width));
}
}