2010-12-19 17 views
3

Ich habe gelernt Android und Phonegap Entwicklung von vor allem diesen beiden Quellen:Bildschirmauflösung

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

ich ein Samsung Galaxy Tab haben.

Was mich verblüfft, obwohl, sind:

  1. Welche Bildschirmgröße verwende ich in Entwicklung 2010 die größte Anzahl von Android-Handys und Tablet-PC hier in Q4 zu erreichen? Empfiehlst du WVGA800 für einen 480x800 Bildschirm?
  2. Wie passen die meisten Android-Apps richtig in mein 7 "Samsung Galaxy Tab, obwohl es eine hohe Auflösung hat? Was machen die Entwickler, um dies zu erreichen? Ich meine, können Sie Ihre Apps haben eine Art Stretching und die Schriften strecken auch? Oder, Google erkennt, dass die App für einen kleineren Bildschirm ausgelegt war und so die Größenänderung für das Galaxy Tab behandelt? Und muss ich etwas in der AndroidManifest.xml ändern?
  3. Ich verwendete die HVGA-Standard in der Emulator, und es war zippy schnell.Wenn ich auf WVGA800 wechselte, wurde es viel langsamer.Warum ist das?

Antwort

8

Hier sind meine Antworten vollständig von einem Android-Entwickler per hängig (ich keine Erfahrung mit PhoneGap haben, so kann ich nicht sagen, wie die Dinge beeinflusst):

  1. Für die meisten meiner Tests, konzentriere ich mich auf 320x480 und 480x800. Bei Tablets sollten Sie auch speziell gegen das Galaxy Tab testen (weitere Informationen zum Testen im Emulator finden Sie unter).

  2. Layouts in Android sind im Allgemeinen entworfen (oder sollten), um jede Bildschirmgröße zu unterstützen. Normalerweise werden Ansichten auf MATCH_PARENT (zuvor FILL_PARENT) oder WRAP_CONTENT gesetzt, sodass ihre Größe davon abhängt, in welchem ​​Layout sie sich befinden oder welche Inhalte sie enthalten und nicht wie groß die Anzeige ist. Sie können auch "DP" (dichteunabhängige Pixel) angeben, die automatisch für Sie skaliert werden (2dp wären also 2px auf einem HVGA-Gerät, aber 3px auf einem WVGA-Gerät). Schriften sollten in SP angegeben werden, die im Wesentlichen die gleiche Sache sind, aber auch die Schriftart des Benutzers berücksichtigen.

    Sie können auch Gewichte für das Strecken von Ansichten anwenden. Wenn Sie beispielsweise ein LinearLayout mit horizontaler Ausrichtung haben, können Sie zwei Ansichten einfügen (sagen wir eine TextView und eine EditTextView). Sie könnten beide auf WRAP_CONTENT für ihre Breite und Höhe setzen, aber Sie würden wahrscheinlich eine layout_weight = "1" zur EditTextView hinzufügen und sagen, dass sie den verbleibenden Platz füllen soll. Darüber hinaus können Sie spezifische Layouts für große Geräte erstellen, um die Anzeige für das Galaxy Tab anzupassen.

  3. Je höher die Auflösung, desto mehr Pixel verarbeitet der Emulator. Sie werden auch Leistungsunterschiede zwischen den Android-Versionen bemerken.

aber sagen, dass es sieht aus wie PhoneGap mehr oder weniger wie eine WebApp Entwicklung ist, in dem Fall, dass Sie die Android Web Apps articles hilfreich finden.

Edit (Antworten auf ersten Kommentar, da meine Formatierung vermasselt wurde immer):

etwas Nein, es ist nicht in den AndroidManifest andere zu ändern, als die Angabe, was Sie unterstützen:

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

Für CSS, können Sie specify styles based on density oder verwendet Standard-Prozent, em Messungen usw.

+0

Ausgezeichnete, nachdenkliche Antwort. Also, um das hinzuzufügen, muss ich meine AndroidManifest.xml in einer bestimmten Weise einrichten, um DP und SP zu behandeln? Und was ist mit CSS-Stilen - muss ich auch Messungen in DP und SP verwenden? – Volomike

+0

Das größte Problem, das mir bei der Arbeit an Mobiltelefonen mit höherer Auflösung aufgefallen ist, ist, dass Text, der auf 480px-Bildschirmen ausreichend groß war, auf 720 Bildschirmen plötzlich klein ist. Kennen Sie eine prägnante Schriftgröße, die für größere Bildschirme viel größer ist? –

1

ich habe mit begonnen folgenden in meinem manifestiert für meine Apps, die auf jeder Größe ausgeführt werden kann:

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