2015-01-28 2 views
0

я хочу использовать фоновое изображение в моем app.But я так запутались другой экран sizes.I нашел этот вопрос:размер Фоновое изображение для всех экранов

Android: Background Image Size (in Pixel) which Support All Devices

Но в ответ он сказал xxxhdpi: 1280x1920 px но Lg G3 - xxxHdpi и разрешение экрана: 1440 x 2560

Мне нужна дорожная карта. Как мои размеры изображения для всех экранов? (mdpi, hdpi, xhdpi и т. д.)

+0

2 варианта: 1). Используйте SVG-изображение полной длины, оно может автоматически изменяться. 2). use set: ScaleType: «CenterCrop» – Dev

ответ

2

Размеры экрана устройств Android в пикселях и ширина экрана в дюймах могут значительно отличаться от устройства к устройству. Чтобы решить эту проблему, google позволяет использовать различные ресурсы по размеру/плотности категории См. here для получения дополнительной информации.

Вообще говоря, вы должны поместить изображение наибольшего размера, которое вы хотите поддерживать для каждого dpi в правильной папке, и андроид сделать изменение размера.

Вы также можете проверить атрибут imageView's ScaleType, чтобы выбрать способ масштабирования изображения в соответствии с представлением.

EDIT

причина использовать различные папки, а не только один большое изображение является то, что чем больше изображение, тем больше памяти она потребляет. Например, изображение 1920x1280 приятно иметь на экране 1920 года, но на 320-пиксельном экране дополнительное разрешение теряется впустую, и у вас много использованной памяти.

+0

Если я поставлю 1080p изображение в папку xxxhdpi, что произойдет на lg g3? это экран 2k и использование xxxhdpi. – Okan

+0

android выбирает, какое изображение использовать в зависимости от размера экрана. Поэтому на экране xxxhdpi он попытается найти изображение в файле xxxhdpi. Если он не найдет его (у вас нет явного изображения для этого dpi), он будет использовать изображение с уменьшенным разрешением. В любом случае, после получения изображения он попытается поместить его в вид, который вы его установили. Если, например, в lg g3 ваш вид занимает весь экран, изображение будет меньше, чем экран, поэтому он будет увеличиваться (в зависимости от типа scaleType), теряя некоторое качество, хотя я сомневаюсь, что это будет примечательно. –

+0

hmmm ok, но я все еще запутался в размерах. Мне нужны размеры примеров для каждого экрана xhdpi, xxhdpi и т. Д. Я использую это изображение с полным экраном – Okan

1

Более простой способ состоит в том, чтобы включить одно отдельное изображение в свой рисованный каталог, а затем в функцию OnCreate вашей деятельности создать растровое изображение, соответствующее экрану, и поместить его в изображение который имеет ширину и высоту, равную «wrap_content».

Это должно работать на любом устройстве.

0

Прочитано this link. В частности, я думаю, что вы ищете это:

Чтобы создать альтернативные растровые для вводимого коэффициента различных плотностей, вы должны следовать за 3: 4: 6: 8: 12: 16 Коэффициент масштабирования между шестью обобщенных плотностей , Например, если у вас есть растровый рисуют, что это 48x48 пикселей для экранов средней плотности, все различных размеры должны быть:

36x36 (0.75X) для низкой плотности

48x48 (1.0x) для базовой среды -плотность

72x72 (1.5x) с высокой плотностью

96x96 (2.0x) для экстра-высокой плотности

180x180 (3.0x) для экстра-экстра-высокой плотности

192x192 (4.0x) для экстра-экстра-экстра-высокой плотности

, а также:

XLarge экраны, по меньшей мере 960dp х 720dp

большие экраны, по меньшей мере 640dp х 480dp

нормальные экраны, по меньшей мере 470dp х 320dp

небольшие экраны, по меньшей мере 426dp х 320dp

+0

Если вы создавали фоновое изображение, какие размеры вы выбрали для mdpi? – Okan

+0

Это зависит от ваших предпочтений, но я полагаю, вы можете использовать стандарт YouTubes (480p, т. Е. 800x480 для среднего диапазона) – NitroNbg

+0

Если я выберу 480x800 для mdpi, xxhdpi должен быть 1440x2400 вправо? Я думаю, что он слишком велик для xxhdpi? – Okan

Смежные вопросы