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

Положение

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

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

Задача

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

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

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

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

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

1 Ответ

0 голосов
/ 10 октября 2011

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

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