Android - Handle Orientation: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „== Lock Orientation == '''Möglichkeit 1''' Manifest: android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation" Vorteil: Schnelle…“) |
|||
| (Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Lock Orientation == | == Lock Orientation == | ||
| + | http://stackoverflow.com/questions/1512045/how-to-disable-orientation-change-in-android | ||
| + | |||
'''Möglichkeit 1''' | '''Möglichkeit 1''' | ||
Manifest: | Manifest: | ||
| Zeile 5: | Zeile 7: | ||
android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation" | android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation" | ||
| + | ab 3.2 sollte man noch screenSize dazu nehmen. | ||
| + | <activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation|screenSize"> | ||
Vorteil: Schnelle Lösung | Vorteil: Schnelle Lösung | ||
Nachteil: Wegen dem nosensor gibt es keine Möglichkeit das Verhalten im Code selbst zu bestimmen. | Nachteil: Wegen dem nosensor gibt es keine Möglichkeit das Verhalten im Code selbst zu bestimmen. | ||
Aktuelle Version vom 19. März 2013, 10:38 Uhr
Lock Orientation[Bearbeiten]
http://stackoverflow.com/questions/1512045/how-to-disable-orientation-change-in-android
Möglichkeit 1 Manifest:
android:screenOrientation="nosensor" android:configChanges="keyboardHidden|orientation"
ab 3.2 sollte man noch screenSize dazu nehmen.
<activity android:name="MainActivity" android:configChanges="keyboardHidden|orientation|screenSize">
Vorteil: Schnelle Lösung Nachteil: Wegen dem nosensor gibt es keine Möglichkeit das Verhalten im Code selbst zu bestimmen.
Möglichkeit 2
- Set android:configChanges of your Activity (in manifest file) to keyboardHidden|orientation
- Override onConfigurationChanged()
Im Manifest einstellen auf was android reagieren soll
android:configChanges="keyboardHidden|orientation"
Die Veränderung im Code selbst regeln (z.b. gar nichts machen ;-) )
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
//here you can handle orientation change
}
In der onCreate() Methode die Orientation setzen. In onConfiguration Changed kann es vorkommen, daß sich die Orientation ändert und zurücksetzt.
setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);