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 contenitoriSingleScreen
oDualScreen
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 aFoldableLayoutManager
.FoldableLayoutManager
fornisce un oggettoLinearLayoutManager
quando il dispositivo è in modalità a schermo singolo e quandoGridLayoutManager
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 aFoldableStaggeredLayoutManager
.FoldableStaggeredLayoutManager
fornisce un oggettoLinearLayoutManager
quando il dispositivo è in modalità a schermo singolo e quandoStaggeredGridLayoutManager
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'oggettoSnackbar
per posizionarlo su dispositivi piegabili.
Dichiarazione delle dipendenze
Assicurarsi di avere il repository mavenCentral() nel file build.gradle di primo livello:
allprojects { repositories { google() mavenCentral() } }
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 diSurfaceDuoScreenManager
. - Usare
SurfaceDuoScreenManager
per registrare i listener, in modo da ricevere una notifica quando la modalità schermo viene modificata. - Usare
ScreenInfoProvider
per ottenere un'istanza diScreenInfo
. - 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"
- Usare