2 Stimmen

Querformat bei HDPI deaktivieren, aber nicht bei Standard-Querformat

Ich habe eine Anwendung und das Problem ist, dass sie Tablets und Telefone unterstützen muss. Auf Tablets kann man jedoch das Querformat statt des Hochformats verwenden, weil es groß genug ist, um alles anzuzeigen. Aber auf einem Telefon macht das alles zunichte, weil der Bildschirm zu klein ist.

Ich wollte die Querformatansicht für Handys und nicht für Tablets deaktivieren.

Ich sehe, dass Sie Portrait in der Datei manifest.xml definieren können, aber ist es möglich, es in Abhängigkeit von der Layout-Xml zu deaktivieren?

Zum Beispiel:

-Telefone verwenden layout-hdpi -tablets verwenden standardmäßig Layout

Wenn ein Gerät layout-hdpi verwendet, sollte nur Hochformat aktiviert sein, ansonsten kann es ins Querformat wechseln.

1voto

pjanecze Punkte 3125

Ich habe dies folgendermaßen getan:

  • im Manifest als screenOrientation-Typ: "@integer/screenOrientation"
  • für Telefon (wenn Sie Portait wünschen) screenOrientation Wert auf "1" setzen
  • für Tablets (wenn Sie Querformat wünschen) setzen Sie den Wert screenOrientation auf "0".

Diese Werte stammen von Quell-SDK Wenn Sie also etwas anderes wollen, sehen Sie es sich an (suchen Sie nach screenOrientation in diesem Link).

Ich hoffe, diese Lösung wird Ihnen helfen.

0voto

appmattus Punkte 2690

Eine Alternative zu der von @pjanecze gegebenen Antwort ist, dies im Code zu tun:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Ich rufe dies in der onCreate-Methode meiner Basisaktivität auf. Aus irgendeinem Grund funktionierte die Methode manifest nicht für mich.

Einige Benutzer berichten von Problemen, bei denen der obige Code ignoriert wird. Dies kann jedoch behoben werden, indem die gewünschte Ausrichtung zunächst auf etwas anderes eingestellt wird:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X