Отдельная графика для разных разрешений, андроид - PullRequest
1 голос
/ 27 февраля 2012

Мне нужны ресурсы для рисования для разных разрешений, таких как 320x480, 800x480, 854x480, 800x600 1024x600, 1024x768, 1024x800. Это игра, и масштабирование растровых изображений недопустимо, потому что они очень чувствительны к ней. Папки, зависящие от разрешения точек на дюйм, и комбинации с размерами экрана (которые устарели, но не имеют другого способа настройки рисования для больших экранов с одинаковым разрешением и разным разрешением точек на дюйм) не предусмотрены. Как отличить графику для 1024х600 и 1024х768 например?

Очень грустно прекращать использовать механизм автоматического выбора ресурсов и перехода на ручную загрузку из ресурсов. есть идеи?

Ответы [ 2 ]

1 голос
/ 27 февраля 2012

Если вы хотите идеальную подгонку пикселей, вы всегда можете загрузить фон во время выполнения простым способом:

private void setBackgroundImage() {
   DisplayMetrics dm = getResources().getDisplayMetrics();
   int screenWidth = dm.widthPixels;
   int screenHeight = dm.heightPixels;

   // TODO: Conditional Structure to apply the right drawable 
   // ressource to be applied in the background

}

После того, как вы получите разрешение дисплея, вы можете применить соответствующий фон с помощьюsetBackgroundDrawable метод.

1 голос
/ 27 февраля 2012

Я обычно использую 4 папки ресурсов для рисования:

  1. Drawable-MDP для 320x480
  2. drawable-hdpi для 480x800 и 480x854
  3. drawable-large-hdpi для 600x1024, 768x1024 и т. Д.
  4. drawable-xlarge-mdpi для 800x1280

Этого достаточно в моей голове. Кроме того, вам не нужно беспокоиться о различных доступных для рисования ресурсах, например, для устройств с размерами экрана 800x480 и 854x480: вы можете указать смещение по краям экрана, равное 27 пикселям, и центрировать игру на экране. Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...