icon_Android_35x35

Neues Tablet und Unterstützung von 180° Drehung

Nach langer Wartezeit ist es endlich angekommen, mein Acer A510. Bisher bin ich sehr zufrieden mit dem Gerät, lediglich der USB-Anschluß ist an einer sehr ungünstigen Stelle, nämlich der Unterseite des Geräts. Praktisch für eine Docking-Station, aber sehr ungünstig für Debugging per USB, da ich das Tablet nicht schräg auf den Tisch stellen kann. Zum Glück ist Android schlau genug, um mit 180° Drehungen des Geräts umgehen zu können, sodass der Anschluß ganz einfach auf die “Oberseite” gelangt. Leider unterstützen nicht alle Apps (meine eingeschlossen) eine 180° Drehung, da diese Eigenschaft erst mit Gingerbread eingeführt wurde.

Auf der Suche nach einer Möglichkeit Conveyors weiterhin ausschließlich im Landscape-Modus zu betreiben, aber zugleich 180° Drehungen zu erlauben bin ich auf das Problem gestoßen, dass im AndroidManifest nur eine ScreenOrientation angegeben werden kann. Um die 180° Drehung zu ermöglichen, muss diese auf sensorLandscape gesetzt werden, da diese Eigenschaft aber erst mit Gingerbread eingeführt wurde ignorieren ältere Android-Versionen diese Angabe. Das führt dazu, dass ältere Geräte die Activity wahlweise im Landscape- oder Portrait-Modus darstellen. Da der Portrait-Modus für Conveyors nicht funktioniert ist dies keine Lösung und eine abwärtskompatible Lösung musste her. Diese habe ich auch gefunden:

Im AndroidManifest setzt man screenOrientation=”sensorLandscape” und überschreibt diesen Wert im Falle einer älteren Version von Android in Activity.onCreate:

 

@Override
protected void onCreate(Bundle savedInstanceState) {
	super.onCreate(savedInstanceState);
	if (Build.VERSION.SDK_INT < Build.VERSION_CODES.GINGERBREAD)
		setRequestedOrientation(ActivityInfo.SCREEN_ORIENTATION_LANDSCAPE);
}

 

Dieser Beitrag wurde unter Android veröffentlicht. Setze ein Lesezeichen auf den Permalink.

Hinterlasse eine Antwort