Pustaka tata letak layar ganda
Penting
Artikel ini menjelaskan fungsionalitas dan panduan yang ada dalam pratinjau publik dan dapat dimodifikasi secara substansial sebelum tersedia secara umum. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Pustaka ini berisi serangkaian tampilan, tata letak, fungsi pembantu, dan lainnya untuk membantu pengembang Android membuat aplikasi untuk perangkat yang dapat dilipat.
Ketika Anda meninggalkan tanggung jawab untuk membuat dan menangani semua mode layar ke komponen kami, fokus utama Anda adalah membuat aplikasi luar biasa Anda.
Modul
Navigasi bawah - Berisi BottomNavigationView kustom dengan perilaku layar ganda.
BottomNavigationView
menyediakan kemampuan untuk memindahkan BottomNavigationView ke layar kiri atau kanan.
FragmentsHandler - Berisi kode untuk menangani Fragmen dalam mode layar yang berbeda.
FragmentManagerStateHandler
menyediakan kemampuan untuk memulihkan fragmen khusus mode layar saat aktivitas beralih ke layar ganda atau tunggal.
Tata Letak - Berisi tata letak yang membantu Anda membuat UI untuk perangkat layar ganda.
FoldableLayout
akan membuatSingleScreen
kontainer atauDualScreen
untuk menahan UI Anda.FoldableFrameLayout
menyediakan kemampuan untuk menjangkau tampilan anak atau memindahkannya ke layar kiri atau kanan.
RecyclerView - Berisi RecyclerView.ItemDecoration kustom dan kelas LayoutManager dengan perilaku layar ganda.
FoldableItemDecoration
menambahkan penspasian untuk sel untuk menutupi engsel perangkat saat aplikasi dalam mode membentang. Ini harus digunakan bersama denganFoldableLayoutManager
.FoldableLayoutManager
LinearLayoutManager
menyediakan saat perangkat berada dalam mode layar tunggal danGridLayoutManager
ketika perangkat dalam mode spanned.FoldableStaggeredItemDecoration
menambahkan penspasian untuk sel untuk menutupi engsel perangkat saat aplikasi dalam mode membentang. Ini harus digunakan bersama denganFoldableStaggeredLayoutManager
.FoldableStaggeredLayoutManager
LinearLayoutManager
menyediakan saat perangkat berada dalam mode layar tunggal danStaggeredGridLayoutManager
ketika perangkat dalam mode spanned.
Tab - Berisi kelas TabLayout kustom dengan perilaku layar ganda.
TabLayout
dapat mendeteksi fitur yang dapat dilipat dan menyediakan opsi untuk mengatur tabnya di sebelah kiri atau di sebelah kanannya.
Komponen Navigasi yang Dapat Dilipat - Berdasarkan Komponen Navigasi Google, komponen ini berisi sekumpulan pustaka yang mengimplementasikan pola navigasi layar ganda.
Snackbar - Kustom
FrameLayout
yang dapat digunakan sebagai kontainer untukSnackbar
memosisikannya pada perangkat yang dapat dilipat.
Mendeklarasikan dependensi
Pastikan Anda memiliki repositori mavenCentral() di file build.gradle tingkat atas Anda:
allprojects { repositories { google() mavenCentral() } }
Tambahkan dependensi yang Anda butuhkan ke file build.gradle tingkat modul (versi saat ini mungkin berbeda dari yang ditunjukkan di sini):
Navigasi bawah
implementation "com.microsoft.device.dualscreen:bottomnavigation:1.0.0-beta4"
Penangan fragmen
implementation "com.microsoft.device.dualscreen:fragmentshandler:1.0.0-beta5"
Tata letak
implementation "com.microsoft.device.dualscreen:layouts:1.0.0-beta8"
Tab
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"
Komponen Navigasi yang Dapat Dilipat
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"
Modul yang tidak digunakan lagi
Penting
Rilis awal tata letak ini kami dimas dalam satu pustaka com.microsoft.device:dualscreen-layout
.
Pustaka ini tidak digunakan lagi. Sebaiknya gunakan pustaka individual di atas untuk kontrol yang Anda butuhkan.
ScreenManager (Tidak digunakan lagi) - Berisi kelas inti yang diperlukan oleh komponen kami untuk dikembangkan untuk perangkat layar ganda. Anda juga dapat menggunakan ini langsung dalam kode Anda.
- Gunakan
ScreenManagerProvider
untuk mendapatkan instans tunggal .SurfaceDuoScreenManager
- Gunakan
SurfaceDuoScreenManager
untuk mendaftarkan pendengar agar dapat diberi tahu ketika mode layar diubah. - Gunakan
ScreenInfoProvider
untuk mendapatkan instansScreenInfo
. - Gunakan
ScreenInfo
untuk mendapatkan informasi layar yang berbeda tergantung pada mode layar.
Jika Anda ingin memilih versi yang menggunakan Display Mask API, tambahkan baris berikut ke file gradle Anda.
implementation "com.microsoft.device.dualscreen:screenmanager-displaymask:1.0.0-beta4"
Atau, jika Anda ingin memilih versi yang menggunakan Window Manager API, tambahkan baris berikut.
implementation "com.microsoft.device.dualscreen:screenmanager-windowmanager:1.0.0-beta4"
- Gunakan