每次我用这个代码创建一个新的矩形它不起作用,我只能绘制到指定位置,如果我使用变量来改变执行位置,它不会绘制任何东西。在新位置多次绘制矩形不工作
里面一个的AsyncTask方法:
rect = new desenho(main.this, x, y);
至极调用此:
public class desenho extends View{
int x, y;
Paint mPaint = new Paint();
public desenho(Context context, int x, int y) {
super(context);
this.x = x;
this.y = y;
mPaint.setStrokeWidth(3);
mPaint.setStyle(Paint.Style.STROKE);
mPaint.setColor(Color.BLACK);
}
@Override
protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
setMeasuredDimension(width, y);
}
@Override
protected void onDraw(Canvas c) {
// TODO Auto-generated method stub
super.onDraw(c);
c.drawRect(5, y, width-5, y+x, mPaint);
}
}
你的背景是不是黑色的呢? :)。 IT看起来像你可能正在黑色背景上画一个黑色的矩形。你也可以尝试使用调试器来遍历代码,以查看drawRect被调用时的值。 – 2012-08-09 19:25:10
在这种情况下,它不绘制任何东西,只有我做这样的事情: c.drawRect(5,5,宽-5,100,mPaint); – Pl4za 2012-08-09 19:25:42
没有背景是白色的,我检查了system.out上的值,他们是正确的..我不知道什么是错的......也许原因是AsyncTaskMethod? – Pl4za 2012-08-09 19:27:43