Android:ScrollView与NestedScrollView


Answers:


205

NestedScrollView顾名思义,当在另一个滚动视图中需要滚动视图时使用。通常,由于系统将无法确定要滚动的视图,因此很难实现。

这是NestedScrollView进来的地方。


这是一个示例应用程序,演示了父ScrollView中的NestedScrollView
Adam Hurwitz



21

NestedScrollView

NestedScrollView和ScrollView一样,但是在新旧版本的Android上,它都同时充当嵌套滚动父级和子级。默认情况下启用嵌套滚动。

https://developer.android.com/reference/android/support/v4/widget/NestedScrollView.html

滚动视图

用户可以滚动的视图层次结构的布局容器,允许它大于物理显示。ScrollView是一个FrameLayout,这意味着您应该在其中放置一个包含所有要滚动内容的子级;这个孩子本身可能是具有复杂对象层次结构的布局管理器

https://developer.android.com/reference/android/widget/ScrollView.html


8

NestedScrollView就像ScrollView,但是在NestedScrollView中,我们可以将其他滚动视图作为其子级,例如RecyclerView。

但是,如果将RecyclerView放在NestedScrollView中,则会干扰RecyclerView的平滑滚动。因此,要使平滑滚动恢复正常运行,请考虑以下技巧:

ViewCompat.setNestedScrollingEnabled(recyclerView, false);

在为recyclerView设置适配器后,将其置于行上方。


非常感谢兄弟:D
Zafar Iqbal

请记住,这样做(在嵌套中使用recyclerView)在布局通过/度量方面效率很低。测试它,您将看到RV如何停止“回收”视图。
Martin Marconcini

2

我认为使用嵌套滚动视图的好处之一是协调器布局仅侦听嵌套滚动事件。因此,如果前。您希望工具栏在滚动活动内容时向下滚动,仅当您在布局中使用嵌套滚动视图时才会向下滚动。如果在布局中使用普通滚动视图,则用户滚动内容时工具栏将不会滚动。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.