2010-09-14 8 views
5

Ich fühle mich, als ob ich etwas verpasse.Android - Alternative Ressourcen nicht verfügbar?

In meiner Anwendung entschied ich, alternative Zeichenressourcen und alternative Layoutdateien zur Verfügung zu stellen. Meine Struktur ist wie folgt:

res/ziehbar-hdpi/filename.png
res/ziehbar-MDPI/filename.png
res/ziehbar-LDPI/filename.png

res/Layout-small /layout.xml
res/Layout-large/layout.xml
res/layout/layout.xml

ich habe drei verschiedene Emulatoren: ein mit dem Standard-HVGA, eines mit QVGA und einem mit WVGA800

Es scheint nicht diese alternativen Ressourcen/Layouts auf der Grundlage der Bildschirmgröße/Dichte, oder vielleicht kann ich nicht sagen?

Gibt es eine andere Möglichkeit, als ein Gerät für jede spezifische Größe zu verwenden, um dies zu testen? Oder vermisse ich gerade etwas Wichtiges?

Eine andere Frage, wie gut Android skalierbar ist, wenn keine alternative Ressource existiert?

Antwort

1

Einige Punkte, in keiner bestimmten Reihenfolge:

  • Layouts zur Bildgröße werden in Zusammenhang stehen und damit zu groß, mittel, klein und Drawables zur Dichte bezogen und damit zu hdpi, MDPI, LDPI. Es ist offensichtlich für einige und nicht so leicht für andere zu verstehen.
  • Lesen Sie durch this und erstellen Sie Ihre Emulator-Geräte wie auf dieser Seite angegeben, überprüfen Sie, um sicherzustellen, dass Sie sie richtig haben.
  • Beginnen Sie jetzt mit nur einem einfachen Layout und testen Sie es auf der Standard-Gerät Skin, dann fügen Sie Layout-320x480, testen, für andere Größen wiederholen. Wenn Sie layout-large/small usw. verwenden, denken Sie daran, die korrekten Zeilen zu AndroidManifest.xml hinzuzufügen <supports-screens android:largeScreens="true" android:normalScreens="true" android:smallScreens="true" android:resizable="true" android:anyDensity="true" />
  • Eine einfache Möglichkeit, dies zu tun, ist eine Standard-Layout.xml und Drawables-Ordner, und für verschiedene Größen haben Layout- 320x480.xml usw. Ordner und verschiedene Dichten haben wir Drawables-HDpi usw. Ordner. Wenn Sie sicherstellen, dass android:anyDensity="false" /> in der Manifestdatei festgelegt wird, erhält das Mobilteil die richtigen Layouts und Assets abhängig von seinen Attributen.

Wenn Sie android:anyDensity="false" /> in Manifest-Datei das Mobilteil eingestellt nimmt die Dimensionierung von Drawables, in der Regel Vermögenswerte aus Drawables Ordner zu nehmen und es zu skalieren.

+0

Gute Punkte erschienen. Nur um zu bemerken, dass laut [die Dokumente] (http://developer.android.com/guide/topics/manifest/supports-screens-element.html) "android: resizable" nicht im Manifest verwendet werden sollte. –

1

In 3.2-Version für Android-Entwickler haben zwei neue Dinge für Tabletten

layout-sw600dp-land 
layout-sw720-land