#android #android_layout
Есть main_layout, на котором есть 6 иконок (ImageButton). Хотелось бы, чтобы все
6 иконок были пропорциональны любому экрану, чтобы не вылезали за пределы экрана и
не были слишком большими/маленькими.
Я задавал уже подобный вопрос ранее. Пробовал решение, предложенное тут .
В частности, создал несколько каталогов values-mdpi, values-ldpi, values-xhdpi.
В каждом вложенном файле dimens указал разные размеры для иконок.
Как итог: на телефонах mdpi с разным разрешением экрана иконки были разного размера:
на телефонах с большим разрешением - маленькие, на телефонах с маленьким разрешением
- более-менее нормальные.
Сейчас попробовал создал каталоги values-w320dp, values-w480dp.
И даже values-sw320, values-sw480dp. Везде в файле dimens указал разные значения.
Как итог: на эмуляторе Genymotion телефон 240x320 160 dpi показывал тот же размер
иконок, что и на физическом телефоне 1920x1080 hdpi.
Посему опять задаю вопрос:
Как сделать так, чтобы иконки выглядели нормально на каждом экране? Именно заданного
размера.
Какие файлы нужно редактировать? Слышал, что вариант с values-ldpi и подобный перечень
давно устарел. Какой тогда формат нужно использовать.
Прошу помочь, так как уже перечитал Android guide не раз и все равно не понял.
Разметка main_layout:
Ответы
Ответ 1
Я предложил бы использовать android:width = 0dp и android.weight = 1 для каждого элемента в горизонтальном LinearLayout. Тогда ширина элементов будет пропорционально растягиваться, и при этом занимать всю ширину LinearLayout. Для самих изображений можно воспользоваться Scale Drawable и задать для него нужный тип масштабирования. И уже этот ресурс указывать в качестве android:background или android:src. Тут есть пример.
Комментариев нет:
Отправить комментарий