Dual-Screen-Layoutbibliotheken
Wichtig
In diesem Artikel werden Funktionen und Anleitungen beschrieben, die sich in der öffentlichen Vorschau befinden und vor der allgemeinen Verfügbarkeit noch wesentlich geändert werden können. Microsoft übernimmt keine Garantie, weder ausdrücklich noch stillschweigend, für die hier bereitgestellten Informationen.
Diese Bibliotheken enthalten eine Reihe von Ansichten, Layouts, Hilfsfunktionen und mehr, um Android-Entwickler bei der Erstellung von Anwendungen für faltbare Geräte zu unterstützen.
Wenn du die Verantwortung für die Erstellung und Verarbeitung aller Bildschirmmodi unseren Komponenten überlässt, kannst du dich ganz auf das Erstellen deiner außergewöhnlichen App konzentrieren.
Module
Bottom Navigation: enthält eine benutzerdefinierte BottomNavigationView mit Dual-Screen-Verhalten.
BottomNavigationView
bietet die Möglichkeit, die BottomNavigationView auf den linken oder rechten Bildschirm zu verschieben.
FragmentsHandler: enthält Code zur Behandlung von Fragmenten in verschiedenen Bildschirmmodi.
FragmentManagerStateHandler
bietet beim Übergang einer Aktivität in den Doppel- oder Einzelbildschirmmodus die Möglichkeit, für den Bildschirmmodus spezifische Fragmente wiederherzustellen.
Layouts: enthält die Layouts, die Sie beim Erstellen von Benutzeroberflächen für Geräte mit Doppelbildschirm unterstützen.
- Das
FoldableLayout
erstelltSingleScreen
- oderDualScreen
-Container, die deine Benutzeroberfläche aufnehmen. FoldableFrameLayout
bietet die Möglichkeit, untergeordnete Ansichten auf beiden Bildschirmen anzuzeigen oder sie auf den linken oder rechten Bildschirm zu verschieben.
- Das
RecyclerView: enthält eine benutzerdefinierte RecyclerView.ItemDecoration und eine LayoutManager-Klasse mit Dual-Screen-Verhalten.
FoldableItemDecoration
fügt Abstand für die Zellen hinzu, um dem Gerätescharnier Rechnung zu tragen, wenn sich die Anwendung im bildschirmübergreifenden Modus befindet. Dies sollte zusammen mit demFoldableLayoutManager
verwendet werden.FoldableLayoutManager
stellt einenLinearLayoutManager
zur Verfügung, wenn das Gerät im Einzelbildschirmmodus ausgeführt wird, und einenGridLayoutManager
, wenn sich das Gerät im bildschirmübergreifenden Modus befindet.FoldableStaggeredItemDecoration
fügt Abstand für die Zellen hinzu, um dem Gerätescharnier Rechnung zu tragen, wenn sich die Anwendung im bildschirmübergreifenden Modus befindet. Dies sollte zusammen mit demFoldableStaggeredLayoutManager
verwendet werden.FoldableStaggeredLayoutManager
stellt einenLinearLayoutManager
zur Verfügung, wenn das Gerät im Einzelbildschirmmodus ausgeführt wird, und einenStaggeredGridLayoutManager
, wenn sich das Gerät im bildschirmübergreifenden Modus befindet.
Tabs: enthält eine benutzerdefinierte Klasse TabLayout mit Doppelbildschirmverhalten.
TabLayout
kann eine Faltungsfunktion erkennen und bietet die Option, seine Registerkarten links oder rechts davon anzuordnen.
Foldable Navigation-Komponente: Diese Komponente basiert auf der Navigationskomponente von Google und enthält eine Reihe von Bibliotheken, die das Dual Screen-Navigationsmuster implementieren.
Snackbar: Ein benutzerdefiniertes
FrameLayout
, das als Container für dieSnackbar
verwendet werden kann, um sie auf faltbaren Geräten zu positionieren.
Deklarieren von Abhängigkeiten
Achten Sie darauf, das mavenCentral() -Repository in Ihre build.gradle-Datei der obersten Ebene aufzunehmen:
allprojects { repositories { google() mavenCentral() } }
Fügen Sie Ihrer build.gradle-Datei auf Modulebene die benötigten Abhängigkeiten hinzu (die aktuelle Version weicht möglicherweise von der hier gezeigten ab):
Bottom Navigation
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
Fragmente-Handler
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
Layouts
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
Registerkarten
implementation "com.microsoft.device.dualscreen:tabs:1.0.0-beta4"
RecyclerView
implementation "com.microsoft.device.dualscreen:recyclerview:1.0.0-beta6"
SnackbarContainer
implementation "com.microsoft.device.dualscreen:snackbar:1.0.0-alpha2"
Foldable Navigation-Komponente
def nav_version = "1.0.0-alpha3" // Java language implementation implementation "com.microsoft.device.dualscreen:navigation-fragment:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui:$nav_version" // Kotlin implementation "com.microsoft.device.dualscreen:navigation-fragment-ktx:$nav_version" implementation "com.microsoft.device.dualscreen:navigation-ui-ktx:$nav_version"
Veraltete Module
Wichtig
Unsere erste Veröffentlichung dieser Layouts war in einer einzelnen Bibliothek com.microsoft.device:dualscreen-layout
verpackt.
Diese Bibliothek ist veraltet. Wir empfehlen, für die benötigten Steuerelemente die oben aufgeführten Einzelbibliotheken zu verwenden.
ScreenManager (veraltet): enthält die Kernklassen, die von unseren Komponenten zur Entwicklung für Dual-Screen-Geräte benötigt werden. Diese können auch direkt in deinem Code verwendet werden.
- Verwenden Sie
ScreenManagerProvider
, um die einzelne Instanz vonSurfaceDuoScreenManager
abzurufen. - Verwenden Sie
SurfaceDuoScreenManager
, um Listener zu registrieren, damit Sie benachrichtigt werden, wenn der Bildschirmmodus geändert wurde. - Verwenden Sie
ScreenInfoProvider
, um eine Instanz vonScreenInfo
abzurufen. - Verwende
ScreenInfo
, um in Abhängigkeit vom Bildschirmmodus unterschiedliche Bildschirminformationen abzurufen.
Wenn Sie die Version auswählen möchten, die die Anzeigemasken-API verwendet, fügen Sie Ihrer gradle-Datei die folgenden Zeilen hinzu.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
Wenn Sie alternativ die Version wählen möchten, die die Window Manager-API verwendet, fügen Sie die folgende Zeile hinzu.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- Verwenden Sie