Помогите пожалуйста разобраться с динамическим масштабирование вьюшек ImageView, которые расположены внутри GridLayout исходя из размеров экрана устройства.
Имеется сверху по центру Button. Под ним далее находится GridLayout для которого кодом задается количество колонок и строк (например, 15х15). Динамически программно в каждую ячейку добавляется ImageView, которые естественно вылезают за границы экрана. С помощью метода
setLayoutParams я меняю размер ImageView относительно размеров экрана, которые получаю с помощью
getWindowManager().getDefaultDisplay().getRealSize() и размера сетки. Считаю так:
imageViewWidth = screen.x / gridColumns;
imageViewHeight = (screen.y - buttonHeight) / gridRows;
Но в итоге почему то ширина нормально масштабируется, а вот высота неверная (пример на картинке, где видно, что один ряд расположен под экраном). Подскажите в чем проблема? Может есть более простой контейнер, который позволит сделать такую автоматически меняющую размер ячеек таблицу? Главная цель - сделать так, чтобы таблица из ImageView (которая создается кодом динамически) полностью помещалась на экране, с учетом того, что сверху сетки еще могут быть другие элементы (например, кнопки).