2017-12-22 12 views
0

All meine Aktivität sind im Hochformat und es ist ein seltsames Verhalten auf Nexus 5X:Hochformat auf Nexus 5X ignoriert (SDK 7)

  1. Mobile auf Querformat
  2. ich auf mein App eine neue Aktivität
  3. Diese Nachrichten Aktivität erscheint 1s im Querformat, dann automatisch im Hochformat zeigen ...

Alle Activit y Erweitern Sie eine Basisklasse mit:

@Override 
    protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); 
    ... 

Ich habe nichts im Manifest festgelegt.

Haben Sie einige Erklärungen Jungs?

+0

Gibt es einen Grund, warum Sie 'setRequestedOrientation()' in 'onCreate()' anstelle des 'android: screenOrientation' attr in Ihrem Manifest verwenden? –

+0

Kein Grund. Denken Sie, dass es im Gegensatz zu programmatisch besser ist? – anthony

Antwort

1

Von the documentation for Activity.setRequestedOrientation():

Wenn die Aktivität zur Zeit im Vordergrund steht oder auf andere Weise die Bildschirmausrichtung zu beeinträchtigen, wird sofort auf dem Bildschirm verändert werden (möglicherweise die Aktivität verursachte neu gestartet werden).

Dies bedeutet, dass Ihre Aktivität in einer anderen Ausrichtung gestartet werden kann und dann in der von Ihnen gewünschten Ausrichtung neu gestartet werden kann.

Wenn Sie stattdessen the android:screenOrientation attribute verwenden, wird dies nicht passieren.

+0

Ich habe das Problem auf Nexus 5X (Android 8.1) – anthony

Verwandte Themen