Android - Handle Orientation: Unterschied zwischen den Versionen
Aus Wikizone
| Zeile 7: | 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);