Размеры изображений Android - PullRequest
       16

Размеры изображений Android

5 голосов
/ 04 декабря 2011

Я начинаю с разработки для Android, и у меня есть несколько вопросов о поддержке экрана разных размеров.Я прочитал все об этом здесь , но все еще не понимаю, как использовать изображения разных размеров для разных экранов.Моя ситуация такова, что я поместил изображение в res / drawable / hdpi, которое будет получено при запуске на моем Samsung Infusion 4G, а также на моем планшете galaxy 10.1.Поскольку они имеют одинаковый класс плотности, изображение будет иметь примерно одинаковый физический размер на обоих устройствах.И это проблема, очевидно, я хочу, чтобы изображение было больше на моем планшете, но я еще не нашел способ сделать это.

Я смотрел на другую классификацию с малым, средним и большим, но это, казалось, применимо только к макетам, а не к ресурсам изображений.

Будут признательны любые указатели.

Спасибо!

Ответы [ 3 ]

7 голосов
/ 04 декабря 2011

Эти два устройства не имеют одинаковую плотность.Samsung Infuse - это hdpi, Galaxy Tab 10.1 - это mdpi.

Кроме того, обычно вы не хотите, чтобы изображение на планшете было больше.Подумайте - если у меня в приложении есть список контактов, я хочу, чтобы они были одинаковой высоты на телефоне и на планшете, потому что нет смысла делать их выше (эта высота достаточна для отображения текста и возможностинажмите на него пальцем), но я хочу использовать дополнительное пространство для отображения большего количества из них.

Если вы действительно хотите, чтобы изображение на планшете было больше, чем нателефон, вам нужно будет объяснить больше о том, что вы на самом деле пытаетесь достичь.Например, может быть, это фоновое изображение?В этом случае, возможно, вам нужно просто растянуть изображение, чтобы заполнить экран.(И имейте в виду, что делать фоновые изображения на Android сложно, потому что вам нужно иметь дело с большим разнообразием размеров экрана, которые вам подойдут. Чтобы избежать сумасшествия, фоновые изображения должны быть очень абстрактными, чтобы растягивание работало хорошоПосмотрите на фоновые изображения, используемые в Android 3.0 и 4.0 для стандартных тем в качестве примера.)

Если вы пишете игру, это совсем другой мир, и вы должны подумать, хотите ли выиспользовать ресурсы на основе плотности вообще.Как правило, игры будут иметь ресурсы, которые не зависят от плотности, и просто игровое поле заполнит экран, и они довольны результатом, что на планшете будет нечто большее.

1 голос
/ 04 декабря 2011

После размещения изображений, например,

/res/layout-480x800` - if you know resolution
/res/layout-w480dp - if you know witdh
/res/layout-h800dp - if you know height

Android автоматически выбирает картинку для вас.Просто поместите изображение в резолюции, но с тем же именем в эти подпапки.Затем просто используйте (без квалификаторов spacyfing):

android:src="@drawable/background"

или

imageView.setImageResource(R.drawable.background);

Порядок старшинства квалификаторов можно найти в документации (таблица 2)

0 голосов
/ 04 декабря 2011

Таблетки, как правило, xhdpi, а не hdpi.Итак, для вашего Samsung Infuse поместите изображение в:

/res/drawable-hdpi/

А для планшета поместите его в:

/res/drawable-xhdpi

При настройке ресурса изображения с помощью

android:src="@drawable/image"

или

imageView.setImageResource(R.drawable.image);

Он выберет подходящее изображение в зависимости от плотности устройства.

...