Страницы

Поиск по вопросам

воскресенье, 14 апреля 2019 г.

Как задать в GridLayout (под Android) максимальную ширину столбца?

Добрый день! Пытаюсь разобраться с GridLayout. Вроде удобная штука, но... Стоит простая задача на экран вывести 2 ImageButton, но так чтобы их размеры растягивались самостоятельно на экране. По логике с этим должен справляться GridLayout. Не могу понять какое свойство настраивать... Пока съезжают картинки, так как левая больше и сама она не уменьшается.
P.s. размеры картинок не меняю, так как на разных устройствах размер разный, стало быть как-то это свойствами можно сделать. Только не знаю как...


Ответ

Тут все несколько нетривиально, хотя ничего военного. Проблема в том что GridLayout научился разбивать пропорционально (использовать вес) только с версии Android v21. К счастью GridLayout есть в support library, его только нужно подключить: для этого нужно подключить сам модуль gridlayout из каталога androidSdk/extras/android/support/v7/gridlayout, android-support-v7-gridlayout.jar который лежит в папке libs у этого модуля, и android-support-v4.jar
UPD: Если использовать Android Studio то подключить их совсем просто, в файле build.gradle у модуля app
dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile 'com.android.support:support-v4:22.0.0' compile 'com.android.support:gridlayout-v7:22.0.0' }
UPD2: Также предварительно нужно в SDK Manager выкачать последние Tools (Tools, Platform-tools, Build-tools), Android SDK и Android Support Repository (в низу списка).
Сам xml:





Комментариев нет:

Отправить комментарий