Librerie di layout a doppio schermo

Importante

Questi articolo descrive le funzionalità e il materiale sussidiario disponibili nell'anteprima pubblica, che potrebbero tuttavia subire modifiche sostanziali prima del rilascio della versione disponibile a livello generale. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Queste librerie contengono un set di visualizzazioni, layout, funzioni helper e altro ancora per aiutare gli sviluppatori Android a creare applicazioni per dispositivi pieghevoli.

Lasciando le attività di creazione e gestione di tutte le modalità dello schermo ai componenti, ci si potrà dedicare a creare un'app sorprendente.

Moduli

  • Spostamento inferiore: contiene una classe BottomNavigationView personalizzata con comportamento a doppio schermo.

    • BottomNavigationView consente di spostare BottomNavigationView nello schermo a sinistra o in quello a destra.
  • FragmentsHandler: contiene il codice per gestire i frammenti in modalità schermo diverse.

    • FragmentManagerStateHandler consente di ripristinare frammenti specifici della modalità schermo quando un'attività è in transizione alla modalità doppio schermo o schermo singolo.
  • Layout: contiene i layout che consentono di creare l'interfaccia utente per i dispositivi a doppio schermo.

    • FoldableLayout creerà i contenitori SingleScreen o DualScreen in cui includere l'interfaccia utente.
    • FoldableFrameLayout consente di estendere le visualizzazioni figlio o spostarle nello schermo a sinistra o in quello a destra.
  • RecyclerView : contiene un Oggetto RecyclerView.ItemDecoration personalizzato e una classe LayoutManager con comportamento a doppio schermo.

    • FoldableItemDecoration aggiunge spaziatura per le celle in modo da coprire la cerniera del dispositivo quando l'applicazione è in modalità estesa. Deve essere usato insieme a FoldableLayoutManager.
    • FoldableLayoutManager fornisce un oggetto LinearLayoutManager quando il dispositivo è in modalità a schermo singolo e quando GridLayoutManager il dispositivo è in modalità estesa.
    • FoldableStaggeredItemDecoration aggiunge spaziatura per le celle in modo da coprire la cerniera del dispositivo quando l'applicazione è in modalità estesa. Deve essere usato insieme a FoldableStaggeredLayoutManager.
    • FoldableStaggeredLayoutManager fornisce un oggetto LinearLayoutManager quando il dispositivo è in modalità a schermo singolo e quando StaggeredGridLayoutManager il dispositivo è in modalità estesa.
  • Schede: contiene una classe TabLayout personalizzata con comportamento a doppio schermo.

    • TabLayout può rilevare una funzionalità piegabile e offre la possibilità di disporre le schede a sinistra o a destra di esso.
  • Componente di spostamento piegabile : basato sul componente di spostamento Google, questo componente contiene un set di librerie che implementa il modello di spostamento a doppio schermo.

  • Snackbar : un oggetto personalizzato FrameLayout che può essere usato come contenitore per l'oggetto Snackbar per posizionarlo su dispositivi piegabili.

Dichiarazione delle dipendenze

  1. Assicurarsi di avere il repository mavenCentral() nel file build.gradle di primo livello:

    allprojects {
        repositories {
            google()
            mavenCentral()
         }
    }
    
  2. Aggiungere le dipendenze necessarie al file build.gradle a livello di modulo (la versione corrente può essere diversa da quella illustrata di seguito):

    Spostamento inferiore

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

    Gestione dei frammenti

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

    Layout

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

    Schede

    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"
    

    Componente di spostamento piegabile

    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"
    

Moduli deprecati

Importante

La versione iniziale di questi layout è costituita da un pacchetto in una singola libreria com.microsoft.device:dualscreen-layout.

Questa libreria è deprecata. È consigliabile usare le singole librerie precedenti per i controlli necessari.

  • ScreenManager (deprecato): contiene le classi di base necessarie per i componenti per lo sviluppo per dispositivi a doppio schermo. È anche possibile utilizzare queste classi direttamente nel codice.

    • Usare ScreenManagerProvider per ottenere la singola istanza di SurfaceDuoScreenManager.
    • Usare SurfaceDuoScreenManager per registrare i listener, in modo da ricevere una notifica quando la modalità schermo viene modificata.
    • Usare ScreenInfoProvider per ottenere un'istanza di ScreenInfo.
    • Usare ScreenInfo per ottenere informazioni diverse in base alla modalità dello schermo.

    Se si vuole scegliere la versione che usa l'API Display Mask, aggiungere la riga seguente al file gradle.

    implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
    

    In alternativa, se si vuole scegliere la versione che usa l'API di Window Manager, aggiungere la riga seguente.

    implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"