每次我用這個代碼創建一個新的矩形它不起作用,我只能繪製到指定位置,如果我使用變量來改變執行位置,它不會繪製任何東西。在新位置多次繪製矩形不工作
裏面一個的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