Я пытаюсь сделать нестандартный просмотр для Android. Мне нужен большой ractangle, который содержит 7 других прямоугольников (одинаково разнесенных и дополненных изнутри основного прямоугольника, представляющих дни недели). С моим текущим кодом, я получаю следующий результат:Рисование прямоугольников одинакового размера внутри прямоугольника
Но то, что я ищу должно быть (отношение не имеет значения до тех пор, как пространства равны):
Вот мой код. Любая помощь и предложение будут оцениваться!
@Override
protected void onDraw(Canvas canvas) {
super.onDraw(canvas);
//Main rectangle
Rect boxMain = new Rect();
boxMain.set(getLeft() + 25, getTop() + 25, getRight() - 25, getBottom() - 25);
int hMiniBox = boxMain.height()/7; //height for each of 7 rectangles
int space = 10; //Space between each rectangle inside the main rectangle
int rectH = hMiniBox; //Height of each rectangle
//Draw the main rectangle
canvas.drawRect(boxMain, _paintProgressBoxBorder);
//Draw 7 rectangles inside main rectangle
for(int i = 0; i <7; i++)
{
Rect rect = new Rect();
rect.set(
boxMain.left + space,
boxMain.top + space,
boxMain.right - space,
rectH
);
canvas.drawRect(rect, _paintProgressMiniBoxesBorder);
rectH += hMiniBox;
}
invalidate();
}
Вы не двигаетесь верхние углы каждого прямоугольника вниз. Вы просто делаете каждый следующий прямоугольник выше. – mbeckish