Я разрабатываю игру для Android на основе класса SurfaceView. В настоящее время я застрял, пытаясь оптимизировать вид для разных размеров экрана.
Проблема 1: у меня есть PNG-файлы в моей папке res, и я рисую их с помощью Canvas.drawBitmap. Прочитав эту статью ( http://developer.android.com/guide/practices/screens_support.html ), я думал, что Android изменяет размеры растровых изображений, если экран больше. К сожалению, я не обнаружил масштабирования (или каких-либо изменений) при запуске моего приложения на планшете по сравнению с запуском его на телефоне. Итак, как это делается? Должен ли я придумать какую-нибудь причудливую стратегию для вычисления доступного пространства и рисования моих растровых изображений с использованием исходного и целевого прямоугольника? Было бы неплохо, если бы у кого-то была лучшая практика или несколько советов, как рисовать растровые изображения на холсте. Я уже читал темы о преобразовании пикселей‹->dip, но должен сказать, что не знаю, как использовать это «решение» в своем приложении. Так что любая помощь приветствуется...
Проблема 2: у меня есть 3 PNG в моей папке res. Один ldpi, один mdpi и один hdpi. Изображение Ldpi имеет размер 50 пикселей * 50 пикселей, mdpi - 75 пикселей * 75 пикселей, а hdpi - 100 пикселей * 100 пикселей. Когда я загружаю приложение в эмулятор (800*480), оно использует png 100*100. Когда я загружаю приложение на вкладку Acer Iconia, оно использует изображение 75*75. Я думал, что hdpi предназначен для больших экранов (= вкладка), а mdpi или ldpi будут использоваться для экрана эмулятора. По крайней мере, я думал, что Android будет использовать изображение hdpi также на вкладке, но я был удивлен ... Любое объяснение для этого также высоко ценится
Извините, 4 длинного текста, просто пытаюсь быть ясным...
Циа ЭффДи