Почему я не могу нарисовать прямоугольник на холсте в Android?

public class OverlayView extends View {
    private Rect rectangle;
    private Paint paint;
    int l,t,r,b;

    private final List<DrawCallback> callbacks = new LinkedList<DrawCallback>();

    public OverlayView(final Context context, final AttributeSet attrs) {
        super(context, attrs);

    }

    public void addCallback(final DrawCallback callback) {
        callbacks.add(callback);
    }

@Override
public void onDraw(Canvas canvas) {
    Log.v("drawrectindraw",String.valueOf(l)+" "+String.valueOf(t)+" "+String.valueOf(r)+" "+String.valueOf(b));

    rectangle = new Rect(l, t, r, b);

    paint = new Paint();
    paint.setColor(Color.WHITE);
    paint.setStyle(Paint.Style.STROKE);
    paint.setStrokeWidth(5);
    canvas.drawRect(rectangle, paint);
}
    public OverlayView(Context context, int l, int t, int r, int b) {
        super(context);
        this.l = l;
        this.t = t;
        this.r = r;
        this.b = b;
        rectangle = new Rect(this.l, this.t, this.r, this.b);

        Log.v("drawrect",String.valueOf(this.l)+" "+String.valueOf(t)+" "+String.valueOf(r)+" "+String.valueOf(b));
    }

    public interface DrawCallback {
        public void drawCallback(final Canvas canvas);
    }
}

Я передаю значения прямоугольника из своей деятельности в свой класс пользовательского представления, чтобы непрерывно рисовать прямоугольник на экране.

Невозможно понять, почему я 0 0 0 0 в методе onDraw, в моем конструкторе я могу получить правильные значения.

например, drawrect: 153 494 535 875

Журнал

02-25 18: 02: 28,795 30639-30639 / V / drawrectindraw: 0 0 0 0

02-25 18: 02: 29.025 30639-31224 / V / Drawrect: 153 494 535 875

02-25 18: 02: 29.164 30639-30639 / V / drawrectindraw: 0 0 0 0

02-25 18: 02: 29.366 30639-31412 / V / Drawrect: 153 494 535 875

02-25 18: 02: 29.516 30639-30639 / V / drawrectindraw: 0 0 0 0

02-25 18: 02: 29,745 30639-30767 / V / Drawrect: 199 481 517 801

02-25 18: 02: 29.919 30639-30639 / V / drawrectindraw: 0 0 0 0

0 ответов

Другие вопросы по тегам