Vermeidung von Neustart der Aktivität, wenn sich die Orientierung ändert

Ich bin neu in der Android-Entwicklung. Ich habe getrennte Bildschirme für Hoch- und Querformat. Wenn ich meine Orientierung ändere, wird der entsprechende Bildschirm geladen und die Aktivität wird neu gestartet. Jetzt möchte ich nicht, dass meine Aktivität neu gestartet wird, wenn ich die Orientierung ändere, sondern den entsprechenden Bildschirm (axml) laden soll.

Ich habe versucht

  • Wie man Integer-Tag zu einem Widget in XML-Layout-Datei?
  • Wie füge man Android Cordova-Plattform hinzu? PATH-Fehler?
  • Android Junit Testing vs. Normal Junit Testing
  • Wie ändere ich die Sprache der App, wenn der Benutzer die Sprache wählt?
  • Progressbar zusammen mit asyncTask
  • Wie bekomme ich aktuelle Aufgaben auf Android "L"?
  • [Aktivität (Label = "MyActivity", ConfigurationChanges = Android.Content.PM.ConfigChanges.Orientation)]

    Die obige Zeile stoppt die Aktivität, die neu gestartet wird, aber es lädt den gleichen Bildschirm (axml). Bitte vorschlagen . Vielen Dank

  • Wie bekomme ich Gerät (AOSP) Build-Nummer in Android-Geräten programmgesteuert?
  • Wie benutzt man textview.getLayout ()? Es gibt null zurück
  • Gibt es eine Möglichkeit, den Quellcode aus einer APK-Datei zu erhalten?
  • Entfernen von ActionBar-Untertitel / Zurücksetzen von ActionBar-Text
  • RecyclerAnzeige nicht anzeigen
  • Senden von Bildern von der Galerie zum Web Service mit SOAP
  • 2 Solutions collect form web for “Vermeidung von Neustart der Aktivität, wenn sich die Orientierung ändert”

    Schreiben Sie diesen Code in Ihre Aktivität

    @Override public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (getResources().getConfiguration().orientation == Configuration.ORIENTATION_LANDSCAPE) { setContentView(R.layout.landscapeView); } else { setContentView(R.layout.portraitView); } } 

    Und füge diese Zeile auch in deiner Manifest-Datei hinzu

     android:configChanges="orientation|keyboardHidden|screenSize" 

    So wird das mit beiden Sachen umgehen, es wird Ihre Aktivität nicht neu starten und das Layout nach Ihren Orientierungsänderungen laden.

    Da du das OS spezifiziert hast, das du mit Orientierung umgehen möchtest, musst du selbst irgendwelche Änderungen an dem Layout selbst verarbeiten, wie folgt:

     public void onConfigurationChanged(Configuration newConfig) { super.onConfigurationChanged(newConfig); if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT) { setContentView(R.layout.portrait); //do other initialization } else if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) { setContentView(R.layout.landscape); //do other initialization } } 
    Das Android ist ein Google Android Fan-Website, Alles ├╝ber Android Phones, Android Wear, Android Dev und Android Spiele Apps und so weiter.