1058 Stimmen

Wie kann ich den Querformatmodus in Android deaktivieren?

Wie kann ich den Querformatmodus für einige Ansichten in meiner Android-App deaktivieren?

16voto

Sunil Chaudhary Punkte 1091

Fügen Sie einfach diese Zeile in Ihr Manifest ein:

android:screenOrientation="portrait"

Wie:

<manifest
    package="com.example.speedtest"
    android:versionCode="1"
    android:versionName="1.0" >

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

        <activity
            android:name="ComparisionActivity"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
        </activity>

    </application>

</manifest>

15voto

Stephen Punkte 151

Wenn Sie Benutzereinstellungen wünschen, dann würde ich empfehlen setRequestedOrientation (ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

Sie können die Einstellungen über ein Einstellungsmenü ändern.

Ich benötige dies, weil meine Timer dem entsprechen müssen, was auf dem Bildschirm zu sehen ist, und das Drehen des Bildschirms würde die aktuelle Aktivität zerstören.

13voto

Brinda Rathod Punkte 2220

Sie können dies für Ihre gesamte Anwendung tun, ohne dass alle Ihre Aktivitäten eine gemeinsame Basisklasse erweitern müssen.

Der Trick besteht darin, zunächst sicherzustellen, dass Sie eine Anwendungsunterklasse in Ihr Projekt aufnehmen. In deren onCreate(), die beim ersten Start Ihrer Anwendung aufgerufen wird, registrieren Sie ein ActivityLifecycleCallbacks-Objekt (API-Ebene 14+), um Benachrichtigungen über Aktivitätslebenszyklusereignisse zu erhalten.

Dies gibt Ihnen die Möglichkeit, Ihren eigenen Code auszuführen, sobald eine Aktivität in Ihrer Anwendung gestartet (oder gestoppt, oder wieder aufgenommen, oder was auch immer) wird. Zu diesem Zeitpunkt können Sie setRequestedOrientation() für die neu erstellte Aktivität aufrufen.

Und vergessen Sie nicht, app:name=".MyApp" in Ihre Manifestdatei aufzunehmen.

class MyApp extends Application {

    @Override
    public void onCreate() {
        super.onCreate();  

        // register to be informed of activities starting up
        registerActivityLifecycleCallbacks(new ActivityLifecycleCallbacks() {

            @Override
            public void onActivityCreated(Activity activity, 
                                          Bundle savedInstanceState) {

                // new activity created; force its orientation to portrait
                activity.setRequestedOrientation(
                    ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);
            }
            ....
        });
    }
}

8voto

Karan Datwani Punkte 439

Verwenden Sie dies in onCreate() der Aktivität

setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT);

8voto

vuhung3990 Punkte 6090

Sie sollten Folgendes ändern android:screenOrientation="sensorPortrait" in AndroidManifest.xml

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X