使用 Handler.post() 绘制矩形失败
public class TestView extends View
{
public TestView(Context context)
{
super(context);
handler=new Handler();
}
protected void onDraw(Canvas canvas)
{
this.canvas=canvas;
Thread thread=new Thread(null,new Runnable()
{
public void run()
{
int length=32;
paint=new Paint();
paint.setColor(Color.WHITE);
//now I want to draw something.
//I use the main UI thread
handler.post(new Runnable()
{
public void run()
{
draw();
}
});
}
},"thread",262144);
thread.start();
}
}
private void draw()
{
canvas.drawRect(length,length,length+length,length+length,paint);
}
}
我使用 Log,它会绘制,但从不显示。 为什么?
public class TestView extends View
{
public TestView(Context context)
{
super(context);
handler=new Handler();
}
protected void onDraw(Canvas canvas)
{
this.canvas=canvas;
Thread thread=new Thread(null,new Runnable()
{
public void run()
{
int length=32;
paint=new Paint();
paint.setColor(Color.WHITE);
//now I want to draw something.
//I use the main UI thread
handler.post(new Runnable()
{
public void run()
{
draw();
}
});
}
},"thread",262144);
thread.start();
}
}
private void draw()
{
canvas.drawRect(length,length,length+length,length+length,paint);
}
}
I use Log,it draws,but never showes.
Why?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
试试这个:
如果这不起作用,你能解释一下“它绘制但从不显示”。
Try this:
If that doesn't work, could you explain "it draws but never shows".