LayoutManager personalizzato e ItemDecoration per RecyclerView
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.
L'oggetto FoldableLayoutManager
è un wrapper su linearLayoutManager e un GridLayoutManager che fornirà uno o l'altro a seconda che l'app sia estesa tra gli schermi o meno.
L'oggetto FoldableItemDecoration
è un'implementazione di un oggetto RecyclerView.ItemDecoration che creerà un margine tra le due colonne in modo che non vengano coperte dalla cerniera (nel caso sia presente) quando l'app viene estesa e viene FoldableLayoutManager
usata.
In una singola schermata, un Oggetto RecyclerView che usa e FoldableLayoutManager
verrà FoldableItemDecoration
visualizzato come di consueto:
In modalità estesa, un Oggetto RecyclerView che usa FoldableLayoutManager
e FoldableItemDecoration
dividerà il contenuto tra le due schermate:
A partire dalla 1.0.0-beta4
versione, un RecyclerView che usa FoldableLayoutManager
e FoldableItemDecoration
dividerà il contenuto tra i dispositivi foldFeature anche nei dispositivi piegabili. Ad esempio, si tratta di un aspetto sul Emulator orizzontale orizzontale 6,7:
class MainActivity : AppCompatActivity() {
//...
private fun onWindowLayoutInfoChanged(windowLayoutInfo: WindowLayoutInfo) {
recyclerView.layoutManager = FoldableLayoutManager(this, windowLayoutInfo).get()
recyclerView.replaceItemDecorationAt(FoldableItemDecoration(windowLayoutInfo))
}
}
FoldableStaggeredLayoutManager e FoldableStaggeredItemDecoration
Esiste anche un modo per avere StaggeredGridLayoutManager in modalità dual-screen, includendo il FoldableStaggeredLayoutManager
che deve essere usato insieme a FoldableStaggeredItemDecoration
.
In una singola schermata, un Oggetto RecyclerView che usa e FoldableStaggeredLayoutManager
verrà FoldableStaggeredItemDecoration
visualizzato come di consueto:
In modalità estesa, un Oggetto RecyclerView che usa FoldableStaggeredLayoutManager
e FoldableStaggeredItemDecoration
dividerà il contenuto tra le due schermate:
A partire dalla 1.0.0-beta4
versione, un RecyclerView che usa FoldableStaggeredLayoutManager
e FoldableStaggeredItemDecoration
dividerà anche il contenuto tra le due schermate su dispositivi piegabili. Ad esempio, si tratta di un aspetto sul Emulator orizzontale orizzontale 6,7:
class MainActivity : AppCompatActivity() {
//...
private fun onWindowLayoutInfoChanged(windowLayoutInfo: WindowLayoutInfo) {
recyclerView.layoutManager = FoldableStaggeredLayoutManager(this, windowLayoutInfo).get()
recyclerView.replaceItemDecorationAt(FoldableStaggeredItemDecoration(windowLayoutInfo))
}
}