Я понимаю, как рисовать, я формирую, я расширяю класс View
и переопределяю onDraw
, где я создаю новый ShapeDrawbale
(Rectangle), который затем рисую на холсте:
Rect rect = new Rect(x, y, x + width, y + height);
shapeDrawable.setBounds(rect);
shapeDrawable.getPaint().set(paint);
shapeDrawable.draw(canvas);
Затем я хочу добавить это в представление, определенное в моем XML-макете «Деятельности».
Я делаю это, получая дескриптор представления и вызывая:
innerLinear.addView(rectView); // where rectView is my custom class that extends View
Моя проблема в том, что при создании прямоугольника вы должны указать координаты X
и Y
.
Итак - как мне правильно расположить прямоугольник внутри innerLayout
?
Должен ли я использовать границы innerLayout
для создания прямоугольника? Если это так, когда я звоню innerLayout.getLeft()
или innerLayout.getTop()
и т. Д., Всегда возвращается 0 (я предполагаю, что макет еще не полностью завершен), так как мне это сделать?
Есть ли другой способ?
Я чувствую, что мне здесь чего-то не хватает.
Любая помощь будет принята с благодарностью,
спасибо