Смущает растровое масштабирование при поддержке разных разрешений в Android - PullRequest
3 голосов
/ 13 августа 2010

Я запутался в том, как написать независимый от разрешения код для игры для Android, и я ищу несколько кратких советов и рекомендаций, так как никогда не знаю, что делать с несколькими версиями Android. Вот что я конкретно хочу сделать:

  • Я хочу загрузить файл .png размером 100x100 пикселей в растровый объект.
  • Когда растровое изображение загружено, я хочу, чтобы оно масштабировалось так, чтобы при рисовании на холсте оно покрывало ширину экрана.
  • Я хочу, чтобы мое приложение работало на API 1.5 (поскольку 15% людей все еще используют это http://developer.android.com/resources/dashboard/platform-versions.html) и выше.

Может кто-нибудь объяснить, что я буду делать в описанной выше ситуации, чтобы получить желаемые результаты?

Что меня особенно смущает:

  • Как API1.6 выбирает, из какой папки (например, -hdpi) загрузить растровое изображение, и как он решает, для чего его масштабировать?
  • Есть ли в API 1.5 функция автоматического масштабирования? Ширина и высота, о которых сообщает холст, похоже, зависит от плотности экрана.

1 Ответ

1 голос
/ 07 октября 2010

Я думаю, что эта страница должна помочь: http://developer.android.com/guide/practices/screens_support.html

1,5 не выполняет масштабирование, потому что все устройства на момент запуска 1.5 были mdpi.

Для версий 1.6 и более поздних Android решает, из какой директории res извлекать данные, основываясь на определении времени выполнения dpi экрана, а затем соответствующим образом масштабирует ресурсы.

Таким образом, если вы поместите свое растровое изображение 100x100 в res / drawable, а затем запустите свое приложение на устройстве hdpi, Android сначала будет искать растровое изображение в res / drawable-hdpi, когда не найдет его, Android увеличит масштаб. ресурс, который у вас есть в res / drawable.

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