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