@grogzon

Как динамически масштабировать ImageView внутри GridLayout?

Помогите пожалуйста разобраться с динамическим масштабирование вьюшек ImageView, которые расположены внутри GridLayout исходя из размеров экрана устройства.

Имеется сверху по центру Button. Под ним далее находится GridLayout для которого кодом задается количество колонок и строк (например, 15х15). Динамически программно в каждую ячейку добавляется ImageView, которые естественно вылезают за границы экрана. С помощью метода setLayoutParams я меняю размер ImageView относительно размеров экрана, которые получаю с помощью getWindowManager().getDefaultDisplay().getRealSize() и размера сетки. Считаю так:

imageViewWidth = screen.x / gridColumns;
imageViewHeight = (screen.y - buttonHeight) / gridRows;


Но в итоге почему то ширина нормально масштабируется, а вот высота неверная (пример на картинке, где видно, что один ряд расположен под экраном). Подскажите в чем проблема? Может есть более простой контейнер, который позволит сделать такую автоматически меняющую размер ячеек таблицу? Главная цель - сделать так, чтобы таблица из ImageView (которая создается кодом динамически) полностью помещалась на экране, с учетом того, что сверху сетки еще могут быть другие элементы (например, кнопки).

5b3d31817e898829507761.png
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
GridView в такой ситуации бесполезен, т.к. здесь не используются его основные фичи. Смотри TableLayout.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы