Разрешения экрана - PullRequest
       16

Разрешения экрана

3 голосов
/ 19 декабря 2010

Я изучаю разработку Android и Phonegap в основном из этих двух источников:

http://news.softpedia.com/news/How-to-Run-Android-Applications-on-Ubuntu-115152.shtml

http://wiki.phonegap.com/w/page/30862722/phonegap-android-eclipse-quickstart

У меня есть Samsung Galaxy Tab.

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

  1. Какой размер экрана я использую в разработке, чтобы охватить наибольшее количество телефонов и планшетов на Android в четвертом квартале 2010 года?Вы рекомендуете WVGA800 для экрана 480x800?
  2. Как большинство приложений Android правильно меняются в моем 7 "Samsung Galaxy Tab, даже если он имеет высокое разрешение? Что делают разработчики, чтобы добиться этого?Вы заставляете свои приложения иметь своего рода растяжение , и шрифты тоже растягиваются? Или Google обнаруживает, что приложение было разработано для экрана меньшего размера, и поэтому оно обрабатывает изменение размера для Galaxy Tab? И нужно ли менятьчто-то в AndroidManifest.xml?
  3. Я использовал HVGA по умолчанию в эмуляторе, и он был быстрым. Когда я переключился на WVGA800, он стал намного медленнее.

Ответы [ 2 ]

8 голосов
/ 19 декабря 2010

Вот мои ответы полностью с точки зрения разработчика Android (у меня нет опыта работы с PhoneGap, поэтому я не могу сказать, как это влияет на вещи):

  1. Для большинства моих тестов я фокусируюсь на 320х480 и 480х800. Для планшетов вы также захотите провести специальные тесты на Galaxy Tab (подробности о тестировании в эмуляторе см. На сайте Samsung ).

  2. Макеты в Android обычно предназначены (или должны быть) для поддержки любого размера экрана. Обычно представления имеют значение MATCH_PARENT (ранее FILL_PARENT) или WRAP_CONTENT, поэтому их размер зависит от того, в каком макете они находятся, или от того, какой контент они содержат, а не от размера дисплея. Вы также можете указать «DP» (пиксели, не зависящие от плотности), которые будут автоматически масштабироваться для вас (поэтому 2dp будет 2 пикселя на устройстве HVGA, но 3 пикселя на устройстве WVGA). Шрифты должны быть указаны в SP, что по сути одно и то же, но также учитывает предпочтения шрифта пользователя.

    Вы также можете применять веса для растяжения видов. Например, если у вас есть LinearLayout с горизонтальной ориентацией, вы можете поместить в него два вида (скажем, TextView и EditTextView). Вы могли бы установить оба из них на WRAP_CONTENT для их ширины и высоты, но вы, вероятно, добавили бы layout_weight = "1" в EditTextView, сказав ему заполнить оставшееся пространство. Кроме того, вы можете создавать специальные макеты для больших устройств, чтобы настроить отображение для Galaxy Tab.

  3. Чем выше разрешение, тем больше пикселей обрабатывает эмулятор. Вы также заметите разницу в производительности между версиями Android.

При этом похоже, что PhoneGap более или менее похож на разработку WebApp, и в этом случае вы найдете статьи по Android Web Apps полезными.

Редактировать (ответы на первый комментарий, так как мое форматирование испортилось):

Нет, в AndroidManifest ничего не нужно менять, кроме указания того, что вы поддерживаете:

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

Для CSS вы можете указать стили на основе плотности или использовать стандартные проценты, em-измерения и т. Д.

1 голос
/ 19 декабря 2010

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

<supports-screens 
android:smallScreens="true"                   
android:normalScreens="true"                   
android:largeScreens="true"                   
android:anyDensity="true" />
<uses-sdk android:minSdkVersion="4"></uses-sdk>
...