@StynuBlizz

Как задать размер у view, что-бы он был постоянно с одинаковым соотношением сторон?

Допустим нужно сделать 10 квадратов 50dp на 50dp с отступами от края экрана и между квадратами. Если делать это просто указывая 50dp на 50dp и положить в linearLayout, то если на экране не хватает места они будут непропорционально сжиматься т.е получится 50dp на 40dp, а мне нужно чтобы они полностью влезли в экран и сохранили форму квадрата т.е стали например 40dp на 40dp. Как так сделать? Может есть атрибут который отвечает за масштабирование?

зы Надеюсь понятно объяснил)
  • Вопрос задан
  • 97 просмотров
Решения вопроса 3
KuSu
@KuSu
Android разработчик
Я вижу 2 варианта.
1) Сделать разметку под несколько размеров экранов.
2) В коде получить ширину экрана, высчитать максимальный возможный размер квадратов, пройтись по квадратам и заменить их LayoutParams
Ответ написан
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Нужно наследоваться от View или какой-либо из ViewGroup, переопределять onMeasure и там ставить размер нужный.
Ответ написан
Комментировать
@stoptalking
при вызове super.onMeasure (или сетмежердименшн) передайте в кач-ве высоты межерспец ширины. Короче у вас обычная задача создания квадратных вьюх
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы