Dual-Screen-LayoutbibliothekenDual-screen layout libraries

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.This article describes functionality and guidance that is in public preview and may be substantially modified before it's generally available. Microsoft übernimmt keine Garantie, weder ausdrücklich noch stillschweigend, für die hier bereitgestellten Informationen.Microsoft makes no warranties, express or implied, with respect to the information provided here.

Diese Bibliotheken bauen auf der Surface Duo-Doppelbildschirm-API auf.These libraries are built on top of the Surface Duo dual-screen API. Sie enthalten eine Reihe von Ansichten, Layouts, Hilfsfunktionen und mehr, um Android-Entwicklern bei der Erstellung von Anwendungen für Geräte mit Doppelbildschirm zu unterstützen.They contains a set of views, layouts, helper functions, and more to help Android developers create applications for dual-screen devices.

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.When you leave the responsibility of creating and handling all the screen modes to our components, your main focus will be creating your amazing app.

Module:Modules:

  • Core: enthält die Kernklassen, die von unseren Komponenten zur Entwicklung für Dual-Screen-Geräte benötigt werden.Core - Contains the core classes that are needed by our components to develop for dual-screen devices. Diese können auch direkt in deinem Code verwendet werden.You can also utilize these directly in your code.

    • Verwende ScreenHelper, um in Abhängigkeit vom Bildschirmmodus unterschiedliche Bildschirminformationen abzurufen.Use ScreenHelper to get different screen information depending on the screen mode.
    • SurfaceDuoScreenManager ermöglicht das Hinzufügen von Listenern zu ScreenMode-Änderungen.SurfaceDuoScreenManager provides the possibility to add Listeners to ScreenMode changes.
  • Bottom Navigation: enthält eine benutzerdefinierte BottomNavigationView mit Dual-Screen-Verhalten.Bottom navigation - Contains a custom BottomNavigationView with dual-screen behavior.

    • SurfaceDuoBottomNavigationView bietet die Möglichkeit, die BottomNavigationView auf den linken oder rechten Bildschirm zu verschieben.SurfaceDuoBottomNavigationView gives the ability to move the BottomNavigationView on the left or right screen.
  • FragmentsHandler: enthält Code zur Behandlung von Fragmenten in verschiedenen Bildschirmmodi.FragmentsHandler - Contains code to handle Fragments in different screen modes.

    • FragmentManagerStateHandler bietet beim Übergang einer Aktivität in den Doppel- oder Einzelbildschirmmodus die Möglichkeit, für den Bildschirmmodus spezifische Fragmente wiederherzustellen.FragmentManagerStateHandler has the ability to restore screen-mode-specific fragments when an activity is transitioning to a dual or single screen.
  • Layouts: enthält die Layouts, die dich beim Erstellen von Benutzeroberflächen für Geräte mit Doppelbildschirm unterstützen.Layouts - Contains the layouts that help you create UI for dual-screen devices.

    • Das SurfaceDuoLayout erstellt SingleScreen- oder DualScreen-Container, die deine Benutzeroberfläche aufnehmen.The SurfaceDuoLayout will create SingleScreen or DualScreen containers to hold your UI.
    • SurfaceDuoFrameLayout bietet die Möglichkeit, untergeordnete Ansichten auf beiden Bildschirmen anzuzeigen oder sie auf den linken oder rechten Bildschirm zu verschieben.SurfaceDuoFrameLayout has the ability to span child views or move them to left or right screen.
  • Registerkarten: enthält eine benutzerdefinierte Klasse TabLayout mit Doppelbildschirmverhalten.Tabs - Contains a custom TabLayout class with dual-screen behavior.

    • SurfaceDuoTabLayout bietet die Möglichkeit, die Registerkarten auf den linken oder den rechten Bildschirm zu verschieben oder auf beide Bildschirme zu verteilen.SurfaceDuoTabLayout has the ability to move the tabs to left screen, right screen, or span to both screens.

Deklarieren von AbhängigkeitenDeclaring dependencies

Wichtig

Unsere erste Veröffentlichung dieser Layouts war in einer einzelnen Bibliothek com.microsoft.device:dualscreen-layout verpackt.Our initial release of these layouts was packaged in a single library com.microsoft.device:dualscreen-layout.

Diese Bibliothek wird als veraltet markiert.This library will be deprecated. Wir empfehlen die Verwendung der Einzelbibliotheken für die verwendeten Steuerelemente.We recommend using the individual libraries for the controls you need.

  1. Füge der build.gradle-Datei der obersten Ebene die URL des Maven-Repositorys hinzu:Add the maven repository url to the top-level build.gradle file:

    allprojects {
       repositories {
           maven {
               url "https://pkgs.dev.azure.com/MicrosoftDeviceSDK/DuoSDK-Public/_packaging/Duo-SDK-Feed/maven/v1"
           }
       }
    }
    
  2. Füge die benötigten Abhängigkeiten zur build.gradle-Datei auf Modulebene hinzu (die Kernbibliothek sollte immer eingeschlossen werden):Add the dependencies you need to the module-level build.gradle file (you should always include the core library):

    CoreCore

    implementation "com.microsoft.device.dualscreen:core:1.0.0-alpha01"
    

    Bottom NavigationBottom navigation

    implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-alpha03"
    

    Fragmente-HandlerFragments handler

    implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-alpha02"
    

    LayoutsLayouts

    implementation "com.microsoft.device.dualscreen:layouts:1.0.0-alpha02"
    

    RegisterkartenTabs

    implementation "com.microsoft.device.dualscreen:tabs:1.0.0-alpha04"