Поддержка нескольких экранов Android
Я знаю, что по этой теме уже задано много вопросов, но мне действительно нужна помощь.
Прежде всего, да, я прочитал и перечитал официальную ссылку http://developer.android.com/guide/practices/screens_support.html
Моя проблема заключается в следующем. Я создаю игру, только ландшафтный вид. Я просто показываю маленький символ на экране.
Позвольте мне рассказать вам, что я понимаю из документа:
- система автоматически пытается найти лучшее изображение для вашего экрана в папках: drawable/mdpi; HDI и т. д.
- Если система не найдет лучшее изображение, оно возьмет самое близкое и изменит его размер, что может создать артефакт. Поэтому лучше предоставить изображение для всех дп
Так почему же, когда я предоставляю своей игре только одно изображение в drawable/mdpi, оно НЕ автоматически изменяет размер пропорционально размеру экрана текущего устройства? Я попробовал на своем планшете и S2, и у меня другой результат. Я хочу, чтобы изображение было точно пропорциональным на каждом экране.
Спасибо
2 ответа
Вам необходимо добавить изображения разных размеров в папки hdpi,mdpi,ldpi,xhdpi, размер будет изменен в зависимости от плотности устройства. Если вы хотите, чтобы он был разным для разных размеров экрана (например, для планшетов), вы также можете добавить изображения в папки drawable-xlarge,drawable-large,drawable-normal,drawable-small.
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
Вы можете прочитать о пропорциях и этих папках в статье, которую вы предоставили: Поддержка нескольких экранов.
Также вы можете использовать 9-патч изображения, но края вашего изображения будут обрезаны в зависимости от размера экрана. Вот статья об этом: Простое руководство по изображению из 9 патчей. А также есть хороший сайт для генерации 9-патч-изображений - Android Asset Studio.
Если вы хотите предоставить графические ресурсы только для одной плотности и разрешить размер ОС в соответствии с плотностью устройства, поместите ресурс в папку для рисования. Drawable будет вашей папкой по умолчанию, а не drawable-mdpi.