java - veranstaltungen - was kann man heute in hamburg machen




Portrait für Handy, Landschaft für Tablet(Android-Layout) (3)

Das Festlegen einer bestimmten Ausrichtung basierend auf der Gerätedichte funktioniert möglicherweise nicht, da Telefone mit höheren Dichten als Tablets vorhanden sind.

Ich habe den Orientierungssensor des Geräts deaktiviert, indem ich das Attribut im Aktivitäts-Tag in der Manifest-Datei wie folgt gesetzt habe:

android:screenOrientation="nosensor"

Wenn Sie Ihre App ausführen, wird standardmäßig die Hochformat-Ausrichtung für Telefone und die Landschaft für Tablets festgelegt (und daher wird die XML-Datei aus layout-xlarge-land ). Und da Sie eine Ausrichtungssperre festgelegt haben, bleibt sie in dieser Ausrichtung.

Also mache ich eine Anwendung für Android und möchte die Querformatausrichtung für Tablets und die Hochformatausrichtung für Smartphones erzwingen. Es scheint jedoch, als ob ich nur eine Orientierungssperre von dem, was ich gesehen habe, machen kann, was den Zweck, zwei getrennte Ausrichtungen für Geräte zu haben, vereitelt.

Tablets: Landscape Phones: Porträt

Um es technischer zu machen.

Ich habe ein Layout in "res / layout-xlarge-land" für Landschaftsgestaltung auf dem Tablett und ich habe das ursprüngliche Layout in "res / layout" und ich möchte nur Layout-xlarge-Land für das Tablet explizit verwenden. Nichts anderes, NUR die Verwendung von Landschaft für Xlarge-Geräte.

Vielen Dank!


Ich bin mir nicht ganz sicher, was Sie sagen, aber es scheint, dass Sie nur die Auflösung messen und entsprechend handeln sollten. Ich meine, woher weißt du, ob es ein Telefon oder ein Tablet ist, außer dass die Auflösung anders ist?


Sie können die tatsächliche Größe (in Zoll) des Geräts messen und anschließend die Ausrichtung mithilfe von programmatisch festlegen:

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

oder

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);

Um die physikalische Größe des Geräts zu ermitteln, können Sie den here veröffentlichten Code verwenden.

Es ist nicht 100% genau, aber es ist gut genug, um zu entscheiden, welcher König des Geräts die App ausführt.







orientation