#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. Тут есть пример.
Комментариев нет:
Отправить комментарий