Мне нужно показать сетку 4х10 случайных цветов. Сетка должна заполнять экран горизонтально и вертикально, а все ячейки должны быть одинакового размера. Поскольку размеры сетки (4x10) могут измениться в будущем, GridLayout для меня более понятен, чем TableLayout. GridView и RecyclerView отсутствуют, потому что мне не нужно использовать прокрутку.
Поскольку мне нужно добавить эти дочерние представления во время выполнения, я начал с вычисления ширины и высоты ячейки как соотношения ширины и высоты экрана. Затем я наткнулся на этот пост , в котором говорится, что GridLayout предлагает лучшие способы для достижения такого поведения. Существует пример кода для статических (XML) представлений, но я не могу найти пример Java / Kotlin. Я экспериментирую с GridLayout.Spec для использования в LayoutParams для дочерних представлений, но не могу понять, как это работает.
Обновлено со скриншотом желаемого макета. Это изображение размером 12x10, но я хочу гибко изменять размеры (время компиляции).