Anleitung: Ausrichtungsänderungen der UI in Android-Apps verwalten

Für Android-Entwickler bieten sich unterschiedliche Möglichkeiten an, um Ausrichtungsänderungen des UI in Anwendungen zu verwalten. ZDNet stellt vier verschiedene Lösungen vor.

Ein abschreckender Punkt für Neulinge in der Android-Entwicklung sind Änderungen der Ausrichtung. Das Android-Betriebssystem startet die aktuelle Aktivität jedes Mal neu, wenn beispielsweise das Gerät gedreht wird. Die Framework Engineers von Google hatten ihre guten Gründe dafür, den Aktivitätslebenszyklus auf diese Weise zu konzipieren, aber dieses Wissen macht dem angehenden Android-Entwickler die Arbeit auch nicht leichter.

Es gibt zwei Punkte, die ein Entwickler bei einer Ausrichtungsänderung beachten muss: die Beibehaltung des Zustands und das Neuladen von Ressourcen. Zunächst also die vier gängigsten Strategien für Änderungen der UI-Ausrichtung, danach einige Code-Beispiele.

1. Nichts tun

Das klingt nach keiner guten Strategie? Ist es meistens auch nicht. Aber in einigen sehr einfach gestrickten Schnittstellen, bei denen es nicht auf die Ausrichtung (des UI, wohlgemerkt!) ankommt, ist dies durchaus möglich. Die folgende Abbildung zeigt das häufigste Problem, wenn ein Entwickler bei der Änderung der Ausrichtung nichts tut – ein Teil des UI wird abgeschnitten.

2. Unterdrücken

Man kann auch die geänderte Ausrichtung unterdrücken und die Anwendung zwingen, immer im Hoch- oder Querformat zu arbeiten. Hierdurch wird nur verhindert, dass das UI gedreht wird, aber die Aktivität wird trotzdem neu gestartet. Viele neue Entwickler machen den Fehler zu glauben, dass sie sich durch die Unterdrückung der Richtungsänderung auch keine Gedanken über den Status mehr machen müssten. Denn egal, ob die Richtung geändert wird oder nicht: Bei eingehenden Anrufen, Drücken der Home-Taste und so weiter wird die Aktivität grundsätzlich neu gestartet. Hat man sich also vor dem Hintergrund dieses Wissens entschieden, dass das Unterdrücken der Ausrichtungsänderung die richtige Strategie ist, braucht man nur für jede betroffene Aktivität eine Eigenschaft zur Manifest-Datei hinzuzufügen (siehe folgendes Bild).

3. Scroll-Ansicht verwenden

Die Scroll-Ansicht ist zwar nicht für alle UI-Typen geeignet, funktioniert aber beispielsweise bei der Anwendungskonfiguration sehr gut. Bei einer Scroll-Ansicht muss man lediglich dafür sorgen, dass alle UI-Elemente in einem einzigen Layout-Tag verpackt sind. Bei Scroll-Ansichten gibt es nur ein einziges übergeordnetes Layout (folgender Screenshot).

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:scrollbars="vertical"
  android:layout_height="wrap_content"
  android:layout_width="fill_parent">
 <LinearLayout
    android:orientation="vertical"
    android:layout_width="fill_parent"
android:layout_height="fill_parent">
 
  <!-- UI-Elemente zum innersten linearen Layout hinzufügen -->
 
 </LinearLayout>
</ScrollView>

4. Laden eines alternativen Layouts

Oft ist es am besten, eine neue Layoutdatei zu laden. Diese Vorgehensweise ist zwar nicht intuitiv, weil die benötigten Ressourcenordner nicht durch den Projekt-Assistent erstellt werden, aber jedes Layout kann durchaus in zwei Versionen vorliegen. Man braucht lediglich im Ordner /res das neue Verzeichnis layout-land anzulegen. Beim Neustart der Aktivität werden die XML-Dateien im Ordner layout-land verwendet, wenn das Handy im Querformat ausgerichtet ist (siehe Bild).

Neueste Kommentare 

Noch keine Kommentare zu Anleitung: Ausrichtungsänderungen der UI in Android-Apps verwalten

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *