Auf dieser Seite werden Funktionen und Testszenarien im Zusammenhang mit dem Desktop-Freiform-Fenster beschrieben.
Desktopfunktionen
In diesem Abschnitt werden die wichtigsten Funktionen und Konfigurationen im Zusammenhang mit dem Desktop-Freiform-Fenster beschrieben.
Aufgabenlimits aktivieren
So konfigurieren Sie die maximale Anzahl von Aufgaben, die im Desktop-Freiform-Fenster unterstützt werden:
- Aktivieren Sie das Desktop-Freiform-Fenster.
Legen Sie das Konfigurations-Overlay-Flag
config_maxDesktopWindowingActiveTasksinconfig.xmlauf die maximale Anzahl der unterstützten Aufgaben fest. Wenn eine unbegrenzte Anzahl von Aufgaben unterstützt werden soll, legen Sie das Flag auf den Standardwert0fest:<integer name="config_maxDesktopWindowingActiveTasks">4</integer>
Browserspezifische Funktionen
Mit Android 16 wurden zwei browserspezifische Funktionen eingeführt: anpassbare Header Einzüge und App-Instanzverwaltung. In diesem Abschnitt werden die Testszenarien beschrieben, mit denen die Browserkompatibilität überprüft werden kann. OEMs müssen prüfen, ob die Implementierung der Funktion wie vorgesehen funktioniert.
Testfälle für anpassbare Header-Einzüge
Mit den folgenden Testfällen wird die Browserkompatibilität mit anpassbaren Header-Einzügen überprüft:
- UI-Interaktivität:Prüfen Sie, ob die Titelleisten-UI des Browsers in allen Fensterkonfigurationen (Freiform, geteilter Bildschirm und Vollbild) vollständig interaktiv bleibt.
- Systemsymbol-Abstand:Prüfen Sie, ob die Browser-UI nicht unter Systemsymbolen angezeigt wird.
- Anwendung der Vordergrundfarbe:Prüfen Sie, ob die richtigen Vordergrundfarben basierend auf dem Design des Browsers auf die Systemsymbole im App-Header angewendet werden. Das ist besonders wichtig, wenn sich das Design des Browsers vom Systemdesign unterscheidet.
- Fenster ziehen:Prüfen Sie, ob ein Freiform-Fenster gezogen werden kann, indem Sie lange auf einen leeren Bereich der Tableiste drücken.
- Tab-Sichtbarkeit bei Größenänderung:Testen Sie, ob Tabs basierend auf der Breite des Fensters ein- oder ausgeblendet werden, um eine optimale Nutzerfreundlichkeit zu gewährleisten.
Testfälle für die App-Instanzverwaltung mit Ziehgestenverhalten
Mit den folgenden Testfällen wird die Browserkompatibilität mit der App-Instanzverwaltung überprüft:
- Neues Fenster erstellen:Prüfen Sie, ob durch Ziehen eines Tabs aus der Tableiste in einen leeren Bereich ein neues Browserfenster mit diesem Tab erstellt wird.
- Kein neues Fenster für den letzten Tab (einzelne Instanz) : Wenn nur eine Browserinstanz geöffnet ist, prüfen Sie, ob durch Ziehen des letzten Tabs in diesem Fenster kein neues Fenster erstellt wird.
Verhaltensmodi „Desktop-first“ und „Touch-first“
Das Desktop-Freiform-Fenster unterstützt eine Vielzahl von Formfaktoren, darunter Clamshells und Geräte mit angeschlossenen externen Displays. Da verschiedene Formfaktoren unterschiedliche Erwartungen an die Interaktion mit sich bringen, die oft von der primären Eingabemethode (Touch oder Tastatur und Maus) bestimmt werden, verwendet das Desktop-Freiform-Fenster zwei verschiedene Verhaltensmodi:
- Desktop-first-Modus:Bietet eine für Tastatur und Touchpad optimierte Benutzeroberfläche, bei der das System das Freiform-Fenster bevorzugt. Dieser Modus ist für laptopähnliche Konfigurationen vorgesehen.
- Touch-first-Modus:Bietet eine für Touch optimierte Benutzeroberfläche, bei der das System das Vollbild-Fenster bevorzugt. Dieser Modus ist die Standardeinstellung für eigenständige Tablets.
Diese Modi sind keine separaten Desktopumgebungen, sondern Zustände pro Display, die das Standardverhalten der Benutzeroberfläche bestimmen.
Verhaltensunterschiede
In der folgenden Tabelle sind die wichtigsten Unterschiede zwischen den Modi „Desktop-first“ und „Touch-first“ in Bezug auf Benutzeroberfläche und Funktionen zusammengefasst:
| Funktion | Touch-first-Modus | Desktop-first-Modus |
|---|---|---|
| Standardstart | Fenster werden im Vollbildmodus gestartet, es sei denn, ein Freiform-Fenster ist bereits im Vordergrund. | Fenster werden im Freiform-Modus gestartet, es sei denn, ein Vollbild-Fenster ist bereits im Vordergrund. |
| Taskleistentyp | Im Vollbildmodus wird die vorübergehende Taskleiste verwendet, auf der nur angepinnte Apps angezeigt werden. | Verwendet immer die Desktop-Taskleiste , auf der angepinnte und geöffnete Apps angezeigt werden. |
| Neufokussierung | Fenster werden basierend auf dem aktuellen Anzeigemodus reaktiviert (z. B. im Freiform-Modus, wenn das Display im Desktop-Freiform-Fenster ist). | Fenster werden basierend auf dem eigenen gespeicherten Fenstermodus reaktiviert (z. B. wird ein Vollbild-Fenster immer im Vollbildmodus fortgesetzt). |
| Nach oben ziehen | Wenn Sie ein Fenster an den oberen Rand ziehen, wird der Vollbildmodus aktiviert. | Wenn Sie ein Fenster an den oberen Rand ziehen, wird der Zustand Maximiert aktiviert. |
| Fenstersteuerelemente | Verwendet das App-Handle für Vollbild-Steuerelemente. | Verwendet das Hover-Menü für Vollbild-Steuerelemente. |
Der Desktop-first-Modus ist ein Zustand pro Display. Das bedeutet, dass ein Gerät gleichzeitig ein Touch-first-Display und ein Desktop-first-Display hosten kann.
Auslöser für den Wechsel
Das System berücksichtigt mehrere Faktoren, um den geeigneten Modus für ein Display zu bestimmen:
- Eingabegerät:Ein Display wechselt in den Desktop-first-Modus, wenn sowohl eine Tastatur als auch ein Touchpad oder eine Maus angeschlossen und aktiviert sind.
- Externes Display:Bei angeschlossenen externen Displays wird in der Regel standardmäßig der Desktop-first-Modus verwendet, es sei denn, sie spiegeln das interne Display.
- Geräteposition:Bei Convertible-Geräten kann der Modus je nach physischer Ausrichtung wechseln (z. B. zum Touch-first-Modus, wenn die Tastatur nach hinten geklappt wird).
Technische Implementierung
Die „Single Source of Truth“ für diesen Zustand ist der Fenstermodus des Displays, insbesondere der Fenstermodus des TaskDisplayArea des Displays. Shell- und Launcher-Komponenten können über DisplayAreaInfo oder die WindowConfiguration des Displaykontexts auf diesen Zustand zugreifen.