Apa perbedaan antara ScrollViewdan NestedScrollView? Keduanya, perpanjang FrameLayout. Saya ingin tahu secara mendalam pro dan kontra dari keduanya.
Apa perbedaan antara ScrollViewdan NestedScrollView? Keduanya, perpanjang FrameLayout. Saya ingin tahu secara mendalam pro dan kontra dari keduanya.
Jawaban:
NestedScrollViewseperti namanya digunakan ketika ada kebutuhan untuk tampilan gulir di dalam tampilan gulir lainnya. Biasanya ini akan sulit dicapai karena sistem tidak akan dapat memutuskan tampilan mana yang akan digulir.
Di sinilah NestedScrollViewmasuk.
Selain pengguliran bersarang NestedScrollView menambahkan satu fungsi utama, yang bahkan dapat membuatnya menarik di luar konteks bersarang: Ini telah membangun dukungan untuk OnScrollChangeListener. Menambahkan OnScrollChangeListenerdengan aslinya ScrollView bawah API 23 diperlukan subclassing ScrollViewatau main-main dengan ViewTreeObserverdariScrollView yang sering berarti lebih banyak pekerjaan daripada subclassing. Dengan NestedScrollViewitu bisa dilakukan menggunakan setter bawaan .
Selain kelebihan yang tercantum dalam jawaban yang diberikan, satu lagi keunggulan NestedScrollView daripada ScrollView adalah kompatibilitasnya dengan CoordinatorLayout. ScrollView tidak bekerja sama dengan CoordinatorLayout. Anda harus menggunakan NestedScrollView untuk mendapatkan perilaku "gulir di luar layar" untuk toolbar.
Bilah Alat tidak akan runtuh dengan Scrollview sebagai anak dari CoordinatorLayout
NestedScrollView
NestedScrollView sama seperti ScrollView, tetapi mendukung akting sebagai induk dan anak pengguliran bersarang pada versi Android baru dan lama. Pengguliran bersarang diaktifkan secara default.
https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html
ScrollView
Layout kontainer untuk hierarki tampilan yang dapat digulir oleh pengguna, memungkinkannya lebih besar dari tampilan fisik. ScrollView adalah FrameLayout, artinya Anda harus menempatkan satu anak di dalamnya yang berisi seluruh konten untuk digulir; anak ini sendiri dapat menjadi manajer tata letak dengan hierarki objek yang kompleks
https://developer.android.com/reference/android/widget/ScrollView.html
NestedScrollView sama seperti ScrollView, tetapi di NestedScrollView kita dapat menempatkan tampilan pengguliran lainnya sebagai anak darinya, misalnya RecyclerView.
Tetapi jika kita meletakkan RecyclerView di dalam NestedScrollView, scrolling RecyclerView yang terganggu. Jadi untuk mengembalikan scrolling mulus ada trik:
ViewCompat.setNestedScrollingEnabled(recyclerView, false);
Letakkan baris di atas setelah mengatur adaptor untuk recyclerView.
Saya pikir satu Manfaat menggunakan tampilan Nested Scroll adalah bahwa tata letak cooridinator hanya mendengarkan untuk acara gulir bersarang. Jadi kalau untuk mantan. Anda ingin bilah alat menggulir ke bawah saat Anda menggulir konten aktivitas Anda, itu hanya akan menggulir ke bawah saat Anda menggunakan tampilan gulir bersarang di tata letak Anda. Jika Anda menggunakan tampilan gulir normal di tata letak, bilah alat tidak akan menggulir saat pengguna menggulir konten.