Размер изображения для всех экранных устройств
Я имею PSD
разрешение это 1080X1920
, он содержит Dot
изображение с разрешением 22X22
,
Я обрезал это изображение и поместил его в свой res
папка.
У меня вопрос, как Android узнает, что изображение для 1080X1920
экран. Было бы открыть то же изображение больше в small
экран и меньше в 2560x1440
разрешающая способность.
Есть ли способ, кроме как положить разные изображения для каждого размера экрана, чтобы сказать Android, чтобы использовать изображение для определенного размера экрана и масштаба для другихscreens
4 ответа
Используйте напрямую https://romannurik.github.io/AndroidAssetStudio/
Например, два устройства, которые сообщают о нормальном размере экрана, могут иметь фактические размеры экрана и пропорции, которые немного отличаются при измерении вручную. Точно так же два устройства, которые сообщают о плотности экрана hdpi, могут иметь реальные плотности пикселей, которые немного различаются. Android делает эти различия абстрактными для приложений, поэтому вы можете предоставить пользовательский интерфейс, разработанный для обобщенных размеров и плотностей, и позволить системе обрабатывать любые окончательные корректировки по мере необходимости
Вы должны создать различные размеры, макет, изображения и файлы значков для поддержки всех устройств.
изменения в плотности экрана.
xlarge screens are at least 960dp x 720dp
large screens are at least 640dp x 480dp
normal screens are at least 470dp x 320dp
small screens are at least 426dp x 320dp
Сделайте этот макет файлов, чтобы он был одинаковым для всех устройств.
Дайте отступы, поля, шрифт и все свойства в соответствии с устройствами.
res/layout/main_activity.xml # For handsets (smaller than 600dp available width)
res/layout-sw600dp/main_activity.xml # For 7” tablets (600dp wide and bigger)
res/layout-sw720dp/main_activity.xml # For 10” tablets (720dp wide and bigger)
Для макета,
res/layout/my_layout.xml // layout for normal screen size ("default")
res/layout-large/my_layout.xml // layout for large screen size
res/layout-xlarge/my_layout.xml // layout for extra-large screen size
res/layout-xlarge-land/my_layout.xml // layout for extra-large in landscape orientation
Для изображений
res/drawable-mdpi/graphic.png // bitmap for medium-density
res/drawable-hdpi/graphic.png // bitmap for high-density
res/drawable-xhdpi/graphic.png // bitmap for extra-high-density
res/drawable-xxhdpi/graphic.png // bitmap for extra-extra-high-density
Для иконы
res/mipmap-mdpi/my_icon.png // launcher icon for medium-density
res/mipmap-hdpi/my_icon.png // launcher icon for high-density
res/mipmap-xhdpi/my_icon.png // launcher icon for extra-high-density
res/mipmap-xxhdpi/my_icon.png // launcher icon for extra-extra-high-density
res/mipmap-xxxhdpi/my_icon.png // launcher icon for extra-extra-extra-high-density
Для значка Launcher
36x36 (0.75x) for low-density
48x48 (1.0x baseline) for medium-density
72x72 (1.5x) for high-density
96x96 (2.0x) for extra-high-density
180x180 (3.0x) for extra-extra-high-density
192x192 (4.0x) for extra-extra-extra-high-density (launcher icon only; see note above)
Оформление заказа и поддержка нескольких экранов Официальная документация.
В Android Studio есть плагин, который называется "Batch Drawable" и устанавливается в вашей Android студии. Это поможет создавать изображения разного размера.
Шаги для импорта: Файл -> Настройки -> Плагин -> Обзор репозиториев -> Нажмите кнопку Установить.
Перезапустите свою Android-студию, после чего вы сможете найти "Batch Drawable" в меню файлов Android Studio.
Ссылка: https://github.com/winterDroid/android-drawable-importer-intellij-plugin
Больше вам ничего не нужно делать, просто поместите файлы с разным разрешением в другой файл drawable-xxx. Помните, что все картинки должны иметь одно и то же имя, но Android не будет автоматически соответствовать размеру экрана для каждой картинки, если имя файла не совпадает. Удачи!