Как мне правильно масштабировать графику для приложения для телефона Android, переходящего на 3.x

#android #android-3.0-honeycomb #scaling #mdpi

#Android #android-3.0-honeycomb #масштабирование #mdpi

Вопрос:

Ситуация

У меня есть приложение, которое я разрабатывал с Froyo в качестве цели, и я следовал всем рекомендациям по наилучшей практике (dp для размеров, sp для текста, чертежи с 9 исправлениями, без абсолютных макетов и т. Д.). Мои XML-файлы макета находятся в каталоге макетов по умолчанию, а основная частьвсе мои изображения представлены в формате drawable-hdpi. Он великолепно работает на реальном оборудовании телефона как с разрешением mdpi (протестировано на 480×320), так и с разрешением hdpi (протестировано на 800×480), при этом графический интерфейс остается идеально пропорциональным, а текст остается четким.

Недавно я решил перейти на планшеты, мое намерение состоит в том, чтобы приложение запускалось на планшетах с теми же пропорциями экрана с четкой графикой (но, по крайней мере, для рисунков и текста с 9 патчами).

Проблема

Я попытался развернуть приложение на планшете Asus Transformer под управлением Honeycomb 3.2 (у него экран 10.1 с разрешением 1280×800, который, я думаю, xlarge, mdpi). Как я получаю либо:

  1. Масштабирование для заполнения экрана: графический интерфейс увеличен до правильных соотношений / пропорций, но все размыто (как изображения, так и текст) Я подозреваю, что фактически расширяется версия 480×320.Изображения, загруженные с SD-карты, также отображаются в низком разрешении.

  2. Растянуть, чтобы заполнить экран: изображения и текст четкие, однако они неуместны и почти во всех случаях слишком малы. Я измерил и пиксельные измерения изображений такие же, как на экране 480×320.

Я также попытался установить для цели проекта значение Honeycomb 3.2 (версия 13) и установить параметры для поддерживаемых экранов, как предлагалось во всех других ответах, которые я смог найти на сайте, и все, что я получил, было результатом (1) выше, но без значка параметра изменения размера на панели задач.

Кто-нибудь может помочь, заранее спасибо?

Ответ №1:

Вы включили <supports-screens> тег в свой манифест?

 <supports-screens 
   android:xlargeScreens="true" 
   android:largeScreens="true" 
   android:normalScreens="true"
   android:smallScreens="true" />
  

Комментарии:

1. Да, я пробовал это. Я не думаю, что Froyo поддерживает экраны xlarge, поэтому я попробовал его в версии с использованием Honeycomb и только что получил результаты из 1) без опции изменения размера.