Wie kann ich den Gegner 1280x720 WXGA720 Auflösung (wie das neue Galaxy Nexus) in Android-Layout-Ordner?
Beim testen meiner Anwendung auf WXGA720 Auflösung auf dem Android-Emulator läuft 4.0.3 Ice Cream Sandwich, meine app nimmt die layout-assets aus dem layout-normal-land-854x480-Ordner im Querformat-Ansicht und das layout-port-480x320-Ordner für portrait-Ansicht. Ich möchte in der Lage sein, um speziell auf diese Auflösung, so dass meine app zeigt richtig auf die neuen Handys. Wie mache ich das? Ich habe versucht, die folgenden...
layout-normal-land-xhdpi
layout-normal-port-xhdpi
layout-normal-land-xlarge
layout-normal-land-groß
layout-normal-land-1280 x 720
layout-normal -, Hafen -, 1280x720, etc...
...und es dauert noch das Vermögen aus dem falschen Ordner (siehe oben).
Meine app-targeting Android 2.1 (was ich davon ausgehen ist immer noch die standard-Gegner in diesen Tagen), so kann ich nicht, soweit ich weiß, verwenden Sie das neue layout qualifiers. Ist das ein bug? Hat jemand schon das gleiche Problem und fand eine Lösung?
Habe ich die folgende Ordner-Konfiguration, und alle anderen AVDs wie erwartet angezeigt:
layout
layout-land
layout-normal-land-480x320
layout-normal-land-854x480
layout-port-480x320
layout-Anschluss-800x480
InformationsquelleAutor Matt W | 2012-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn ich raten müsste, Sie nicht über eine gültige
<supports-screens>
- element (oder evtl. nichtandroid:minSdkVersion
) in Ihrem manifest, und so Sie geworfen werden in einen Kompatibilitätsmodus.Bitte auch nicht verwenden Suffixe wie
-480x320
und-854x480
. Diese wurden entfernt, aus der Dokumentation für einen Grund. Welchem problem auch immer Sie denken, Sie sind lösen mit Ihnen können besser gelöst werden, einige andere Weg.Können Sie Ihre build-Ziel auf einer höheren Ebene, und verwenden Sie das neue layout qualifiers. Jedoch, ältere Geräte ignorieren, so werden Sie noch brauchen, um zu verwenden
-normal
und-land
- und kin-für Sie, parallel mit einer Ressource setzt mit der neuen Qualifikation. Sie erstellen Ressourcen-Aliase Minimierung von code-Duplizierung.Ich habe auch versucht, indem die <unterstützt-Bildschirme> - element, um die manifest-Datei, die änderung der build-Ziel auf 13, und mit den neuen layout-Qualifier (sw720dp) - Es ignoriert, und ES WILL immer NOCH VERWENDEN DIE GLEICHEN ORDNER. Der einzige Weg, ich habe in der Lage, effektiv gegen diese zu tun, es programmatisch, erhalten Sie das Gerät Breite und ändern Sie den layout-Parameter via code - etwas, was ich versuche zu vermeiden, die hier.
Ihre Entwicklungsumgebung muss völlig Durcheinander. Sachen wie
-large
und-hdpi
nur gut funktionieren, für die Zehntausende von anderen Entwicklern. Ich habe keine Ahnung wie ich dir weiter helfen.Gleiche problem hier, es dauert nicht die Ressourcen von xhdpi Ordner. Ich erklärte das unterstützt-Bildschirme-tag mit android:largeScreens="true" ... scheint nicht zu helfen. xlargeScreens wird unterstützt von API-9, entwickle ich für 7, vielleicht ist das das problem?
hat absolut überhaupt nichts zu tun mit
-xhdpi
.InformationsquelleAutor CommonsWare
Ich hatte ein ähnliches problem beim anzeigen meiner layouts richtig, aber ich war mit dem HTC Rezound, 1280 x 720 Auflösung. Es verwendet die Android-version 2.3.4.
Meine screens waren nur zu zeigen, auf dem oberen Teil der Anzeige und die untere Dritte war schwarz. Alles war korrekt anzeigen mit niedriger Auflösung Telefone.
Ging ich durch die Ausübung neue layout-Verzeichnisse ( layout-xhdpi, layout-große, layout-1280 x 720 -, layout-1200x700, etc) und das meine layout-Dateien, und passen Sie die größere Auflösung, aber jeder Versuch scheiterte, und die app zeigte immer im oberen Teil des Bildschirms nur. Ich hatte Lesen der docs aus
http://developer.android.com/guide/practices/screens_support.html und nichts gefunden, der das problem löste.
Ich schließlich behoben, und die Lösung hatte überhaupt nichts mit dem hinzufügen von neuen layout-Verzeichnisse einrichten, die für höhere Auflösungen!
Die Lösung war, alle über die "uses-sdk" - Anweisung in der AndroidManifest.xml Datei. Meine ursprüngliche manifest enthielt die Anweisung:
Nur die minimale sdk version festgelegt, die Grafik würde nicht richtig angezeigt, auf die Rezound.
Jedoch nach der änderung nur einer Zeile in der AndroidManifest.xml (und ohne sonstige änderungen) das Telefon angezeigt, auf allen Bildschirmen korrekt:
Warum haben diese es beheben, aber nicht die dokumentierten Verfahren? Ich weiß es nicht! Ich finde viele versteckte verbindungen in Android, die scheinen zu trotzen eine logische Erklärung. Kann mir jemand erklären, warum ändern Sie die uses-sdk-Anweisung ist entscheidend, um die Anzeige auf eine höhere Auflösung?
InformationsquelleAutor Tary
Hatte ich diese Frage beantwortet haben, bevor, aber meine Vorherige Antwort nur erlaubt, mich zu füllen, die Anzeige (es wird nur gefüllt, das Obere Drittel vor), aber ich konnte nie ein Alternatives layout verwendet werden.
Ich bin mit einem HTC Rezound hat eine Auflösung von 1280 x 720 display. Ich brauchte, um herauszufinden, welche Art von display Android denkt, dass es ist. Ich habe den folgenden code in der onCreate-handler:
Und die Ergebnisse in die Protokolle waren:
Mit diesem erkannte ich, dass Android Berufung war dies eine normale Anzeige, so habe ich eine res /layout-normal-1280 x 720-Verzeichnis mit meinen alternativen layout-Dateien.
Mein manifest enthalten:
Mit diesen änderungen war ich endlich in der Lage zu bekommen ein Alternatives layout für die Verwendung mit diesem Telefon.
InformationsquelleAutor Tary