Ich entwickle eine Android-App, deren Ausrichtung ich nicht in den Querformatmodus ändern möchte, wenn der Benutzer das Gerät dreht. Außerdem möchte ich, dass die gesperrte Ausrichtung auf Telefonen im Hochformat und auf Tablets im Querformat angezeigt wird. Kann dies erreicht werden, wenn ja wie? Vielen Dank.
android
user-interface
Ankit Rawat
quelle
quelle
Antworten:
Sie müssen nur die Eigenschaft unten im Aktivitätselement in Ihrer
AndroidManifest.xml
Datei definieren. Dadurch wird Ihre Ausrichtung auf das Hochformat beschränkt.Beispiel:
<activity android:name="com.example.demo_spinner.MainActivity" android:label="@string/app_name" android:screenOrientation="portrait" > </activity>
Zusätzlich können Sie gemäß Eduard Lucas Kommentar unten auch verwenden,
screenOrientation="sensorPortrait"
wenn Sie die Drehung um 180 Grad aktivieren möchten.quelle
sensorPortrait
wenn Sie möchten, dass der Benutzer den Bildschirm um 180 Grad drehen kann :)Sie müssen die
android:screenOrientation="portrait"
Direktive in Ihre hinzufügenAndroidManifest.xml
. Dies ist in Ihrem<activity>
Tag zu tun .Darüber hinaus heißt es im Android-Entwicklerhandbuch:
quelle
Ich kann sehen, dass Sie eine Antwort akzeptiert haben, die Ihr Problem nicht vollständig löst:
android:screenOrientation="portrait"
Dadurch wird Ihre App sowohl auf Telefonen als auch auf Tablets im Hochformat angezeigt.
Sie können die App mithilfe von in die "bevorzugte" Ausrichtung des Geräts zwingen
android:screenOrientation="nosensor"
Dies führt dazu, dass Ihre App auf den meisten Telefonen des Telefons im Hochformat und auf Tablets im Querformat angezeigt wird. Es gibt viele Telefone mit Tastaturen, die für den Querformatmodus entwickelt wurden. Wenn Sie Ihre App zum Hochformat zwingen, kann sie auf solchen Geräten fast unbrauchbar werden. Android migriert kürzlich auch auf andere Gerätetypen. Lassen Sie das Gerät am besten die bevorzugte Ausrichtung auswählen.
quelle
Es kann sein, dass Sie programmgesteuert feststellen müssen, ob es sich um ein Tablet oder ein Telefon handelt. Überprüfen Sie zunächst, ob es sich bei dem Gerät um ein Telefon oder ein Tablet handelt
Bestimmen Sie, ob das Gerät ein Smartphone oder Tablet ist?
Tablet oder Telefon - Android
Dann......
if(isTablet) { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE); }else { setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_PORTRAIT); }
quelle
<activity android:name=".yourActivity" android:screenOrientation="portrait" ... />
zur Hauptaktivität hinzufügen und hinzufügen
android:configChanges="keyboardHidden"
um zu verhindern, dass Ihr Programm den Modus ändert, wenn die Tastatur aufgerufen wird.
quelle
Stellen Sie die Bildschirmausrichtung in der Manifest-Datei unter dem Aktivitäts-Tag auf Hochformat ein.
quelle
android:screenOrientation="locked"
in
<application>
für alle App in<activity>
für die tatsächliche Aktivitätquelle
Stellen Sie die Bildschirmausrichtung in der Manifest-Datei unter dem Aktivitäts-Tag auf Hochformat ein.
Hier das Beispiel
Sie müssen an jeder Aktivität teilnehmen
Fügen Sie die folgenden Zeilen in Aktivität hinzu
für Porträt
android:screenOrientation="portrait" tools:ignore="LockedOrientationActivity"
für die Landschaft
android:screenOrientation="landscape" tools:ignore="LockedOrientationActivity"
Hier das Beispiel für MainActivity
<?xml version="1.0" encoding="utf-8"?> <manifest xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" package="org.thcb.app"> <application android:allowBackup="true" android:icon="@mipmap/ic_launcher" android:label="@string/app_name" android:roundIcon="@mipmap/ic_launcher_round" android:supportsRtl="true" android:theme="@style/AppTheme"> <activity android:name=".MainActivity" android:screenOrientation="portrait" tools:ignore="LockedOrientationActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> <activity android:name=".MainActivity2" android:screenOrientation="landscape" tools:ignore="LockedOrientationActivity"> <intent-filter> <action android:name="android.intent.action.MAIN" /> <category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity> </application> </manifest>
quelle
Einfach hinzufügen:
android:screenOrientation="portrait"
in " AndroidManifest.xml ":
<activity android:screenOrientation="portrait" android:name=".MainActivity" android:label="@string/app_name"> </activity>
quelle