Sekarang setelah Pustaka Dukungan Desain Android keluar, apakah ada yang tahu cara menerapkan menu Fab yang diperluas dengannya, seperti hebat di Aplikasi Kotak Masuk?
Seharusnya terlihat seperti ini:
Sekarang setelah Pustaka Dukungan Desain Android keluar, apakah ada yang tahu cara menerapkan menu Fab yang diperluas dengannya, seperti hebat di Aplikasi Kotak Masuk?
Seharusnya terlihat seperti ini:
Jawaban:
Saat ini, tidak ada widget yang disediakan di Perpustakaan Desain. Satu-satunya cara untuk melakukannya dengan cepat dan mudah adalah dengan menggunakan perpustakaan pihak ketiga.
Anda jelas dapat melakukan ini menggunakan Perpustakaan Desain juga, tetapi itu akan menjadi pekerjaan besar dan membutuhkan banyak waktu. Saya telah menyebutkan beberapa perpustakaan yang bermanfaat, yang dapat membantu Anda mencapai ini.
Saya menggunakan yang ke-4.
sumber
Mendapat pendekatan yang lebih baik untuk menerapkan menu FAB animating tanpa menggunakan pustaka atau untuk menulis kode xml besar untuk animasi. Semoga ini akan membantu di masa depan bagi seseorang yang membutuhkan cara sederhana untuk mengimplementasikan ini.
Hanya dengan menggunakan
animate().translationY()
fungsi, Anda dapat menggerakkan tampilan mana pun naik atau turun seperti yang saya lakukan pada kode di bawah ini, periksa kode lengkap di github . Jika Anda mencari kode yang sama di kotlin, Anda dapat checkout kode kotlin repo Menu FAB Bergerak .pertama-tama tentukan semua FAB Anda di tempat yang sama sehingga mereka saling tumpang tindih, ingat di atas FAB seharusnya Anda ingin mengklik dan menunjukkan yang lain. misalnya:
Sekarang di kelas java Anda cukup tentukan semua FAB Anda dan lakukan klik seperti yang ditunjukkan di bawah ini:
Gunakan
animation().translationY()
untuk menghidupkan FAB Anda, saya lebih suka Anda menggunakan atribut metode ini di DP karena hanya menggunakan int akan mempengaruhi kompatibilitas tampilan dengan resolusi yang lebih tinggi atau resolusi yang lebih rendah. seperti yang ditunjukkan di bawah ini:Sekarang tentukan dimensi yang disebutkan di atas dalam res-> values-> dimens.xml seperti yang ditunjukkan di bawah ini:
Itu semua berharap solusi ini akan membantu orang-orang di masa depan, yang sedang mencari solusi sederhana.
Jika Anda ingin menambahkan label di atas FAB maka cukup ambil LinearLayout horizontal dan tempatkan FAB dengan tampilan teks sebagai label, dan hidupkan tata letak jika menemukan masalah saat melakukan ini, Anda dapat memeriksa kode sampel saya di github, saya telah menangani semua kompatibilitas mundur masalah dalam kode sampel itu. periksa kode sampel saya untuk FABMenu di Github
untuk menutup FAB pada Backpress, timpa onBackPress () seperti yang ditunjukkan di bawah ini:
Screenshot memiliki judul juga dengan FAB, karena saya mengambilnya dari ingithub aplikasi sampel saya
sumber
Pertama-tama buat layout menu di file xml Layout aktivitas Anda. Untuk misalnya tata letak linier dengan orientasi horizontal dan sertakan label TextView untuk kemudian Tombol Tindakan yang Mengambang di samping TextView.
Buat tata letak menu sesuai kebutuhan dan nomor Anda.
Buat Tombol Tindakan Mengambang Basis dan klik itu yang mengubah visibilitas Tata Letak Menu.
Silakan periksa kode di bawah ini untuk referensi dan untuk info lebih lanjut checkout proyek saya dari github
Proyek checkout dari Github
Ini adalah animasi-
Animasi pembukaan Menu FAB:
Animasi Penutupan Menu FAB:
Kemudian di Aktivitas saya, saya cukup menggunakan animasi di atas untuk menampilkan dan menyembunyikan menu FAB:
Tampilkan Menu Hebat:
Tutup Menu Luar Biasa:
Ini adalah kelas Activity -
Berikut screenshotnya
sumber
Satu lagi perpustakaan yang menerapkan Panggilan Cepat dari pedoman Desain Bahan:
https://github.com/leinardi/FloatingActionButtonSpeedDial
sumber
Ketika saya mencoba untuk membuat sesuatu yang mirip dengan tombol aksi mengambang inbox saya berpikir tentang membuat komponen kustom sendiri.
Ini akan menjadi tata letak bingkai sederhana dengan ketinggian tetap (berisi menu yang diperluas) yang berisi tombol FAB dan 3 lagi ditempatkan di bawah FAB. ketika Anda mengklik FAB, Anda cukup menghidupkan tombol lain untuk menerjemahkan dari bawah FAB.
Ada beberapa perpustakaan yang melakukan itu (misalnya https://github.com/futuresimple/android-floating-action-button ), tetapi selalu lebih menyenangkan jika Anda membuatnya sendiri :)
sumber
layout_anchor
danlayout_anchorGravity
tidak bekerja untuk sayaAnda dapat menggunakan perpustakaan FloatingActionMenu atau klik di sini untuk tutorial langkah demi langkah. Output dari tutorial:
sumber
Saya menggunakan perpustakaan ini untuk melakukan ini: https://github.com/futuresimple/android-floating-action-button
Cukup mudah digunakan;)
sumber
layout_anchor
danlayout_anchorGravity
tidak bekerja untuk sayaPilihan lain untuk hasil yang sama dengan animasi ConstraintSet:
1) Letakkan semua tampilan animasi dalam satu ConstraintLayout
2) Buat animasi dari kode seperti ini (jika Anda ingin beberapa efek lagi terserah Anda..ini hanya contoh)
menuItem1 dan menuItem2 adalah FAB pertama dan kedua dalam menu, descriptionItem1 dan descriptionItem2 adalah deskripsi di sebelah kiri menu, parentConstraintLayout adalah root ConstraintLayout yang berisi semua tampilan animasi, adalahMenuOpened adalah beberapa fungsi untuk mengubah bendera terbuka / tertutup di negara bagian
Saya memasukkan kode animasi dalam file ekstensi tetapi itu tidak perlu.
sumber