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).
KI-Funktionen beschleunigen die Erholung des PC-Markts. Der Nettogewinn legt um 44 Prozent zu, der Umsatz…
Googles App-Entwickler-Kit dient der Tarnung des schädlichen Codes. Der Sicherheitsanbieter Jamf hält die Schadsoftware für…
Ausgeklügelte Phishing-Kampagne verwendet eine weiterentwickelte Version der Rhadamanthys-Stealer-Malware.
Die EU-Kommission kritisiert die Verknüpfung von Facebook und dem hauseigenen Online-Kleinanzeigendienst. Sie sieht darin einen…
Fast zwei Drittel halten jedoch eine Umsetzung aller Vorgaben von NIS 2 bis Jahresende für…
Mit dem Dekryptor von Bitdefender können Opfer von Attacken mit der Shrinklocker-Ransomware Dateien wiederherstellen.