wake-up-neo.com

Ich möchte, dass meine Android Anwendung nur im Hochformat ausgeführt wird?

Ich möchte, dass meine Android Anwendung nur im Hochformat ausgeführt wird? Wie kann ich das tun?

320
James

Stellen Sie im Manifest Folgendes für alle Ihre Aktivitäten ein:

<activity Android:name=".YourActivity"
    Android:configChanges="orientation"
    Android:screenOrientation="portrait"/>

Lassen Sie mich erklären:

  • Mit Android:configChanges="orientation" Sie sagen Android), dass Sie für die Änderungen der Ausrichtung verantwortlich sind.
  • Android:screenOrientation="portrait" Sie stellen den Standardausrichtungsmodus ein.
708
Cristian

Legen Sie in Android Manifest File ein Attribut für Ihr <activity> Das Android:screenOrientation="portrait"

48
Praveen

Es gibt zwei Möglichkeiten,

  1. Fügen Sie für jede Aktivität in der Manifestdatei Android:screenOrientation="portrait" Hinzu
  2. Fügen Sie this.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); in jede Java Datei ein.
24

Alte Post, die ich kenne. Damit Ihre App immer im Hochformat ausgeführt werden kann, auch wenn die Ausrichtung geändert wurde oder geändert wurde (z. B. auf Tablets), habe ich diese Funktion entwickelt, mit der das Gerät in die richtige Ausrichtung gebracht wird, ohne dass Sie wissen müssen, wie Hochformat und Querformat sind Funktionen sind auf dem Gerät organisiert.

   private void initActivityScreenOrientPortrait()
    {
        // Avoid screen rotations (use the manifests Android:screenOrientation setting)
        // Set this to nosensor or potrait

        // Set window fullscreen
        this.activity.getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN, WindowManager.LayoutParams.FLAG_FULLSCREEN);

        DisplayMetrics metrics = new DisplayMetrics();
        this.activity.getWindowManager().getDefaultDisplay().getMetrics(metrics);

         // Test if it is VISUAL in portrait mode by simply checking it's size
        boolean bIsVisualPortrait = ( metrics.heightPixels >= metrics.widthPixels ); 

        if( !bIsVisualPortrait )
        { 
            // Swap the orientation to match the VISUAL portrait mode
            if( this.activity.getResources().getConfiguration().orientation == Configuration.ORIENTATION_PORTRAIT )
             { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }
            else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT ); }
        }
        else { this.activity.setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_NOSENSOR); }

    }

Klappt wunderbar!

HINWEIS: Ändern Sie this.activity durch deine Aktivität oder füge es der Hauptaktivität hinzu und entferne this.activity ;-)

3
Codebeat