Frage

Ich möchte die Verwendung einer Aktivität im Quer- / Hochformat ermöglichen. Die Aktivität beginnt mit dem Layout für die aktuelle Ausrichtung (dh vor dem Start der Aktivität). Danach muss es daran festhalten und darf nicht auf Orientierungsänderungen reagieren.

Ich habe versucht zu setzen

android:configChanges="orientation" 

im Manifest der Aktivität und überschreiben

@Override
public void onConfigurationChanged(Configuration newConfig) {
// TODO Auto-generated method stub
    super.onConfigurationChanged(newConfig);
}

nichts zu tun (versuchte auch den Superanruf zu kommentieren, aber dies führte zu einer Ausnahme) Dies hat jedoch nicht den Effekt, dass die Rotationsänderung deaktiviert wird. Die Änderung wird verarbeitet und das Layout rekonstruiert. Es wird einfach nicht das richtige verwendet.

Und ich kann nicht verwenden

android:screenOrientation

Weil ich anscheinend immer nur einen Modus angeben muss und das auch nicht brauche. Und wenn ich dort etwas spezifiziere, wird die Aktivität beim Drehen rekonstruiert. Versucht mit

android:screenOrientation="nosensor"

das macht nichts

Hier gibt es eine Sperre der aktuellen Ausrichtung mit Code http://www.samcoles.co.uk/ Handy / Android-Lock-and-Unlock-Bildschirm-Orientierung /

Es erzielt jedoch den gleichen Effekt wie das Festlegen der Ausrichtung in XML (behält das Layout bei, rekonstruiert jedoch die Aktivität). Es ist etwas näher an dem, was ich will (behält die Orientierung von Anfang an bei), rekonstruiert aber die Aktivität und ich möchte nicht, dass sie überhaupt reagiert.

War es hilfreich?

Lösung

Android: configchanges="Orientierung" funktioniert überhaupt nicht auf dem Emulator, aber es funktioniert gut auf Geräten.

Andere Tipps

versuchen Sie generasacodicetagpre.

Fügen Sie dies zu onCreate hinzu

if (this.getResources().getConfiguration().orientation == ActivityInfo.SCREEN_ORIENTATION_PORTRAIT){
        setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);}
        else {setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);}

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top