android:ScrollView vs NestedScrollView

ScrollViewNestedScrollView实际上有什么区别? 我已经使用了他们两个。 它们都是扩展FrameLayout 。 我想深入了解他们两人的利弊。 如果任何人都可以请帮助我。 谢谢。

NestedScrollView在另一个滚动视图中需要滚动视图,则使用NestedScrollView 。 通常这是很难完成的,因为系统将无法决定哪个视图滚动。

这是NestedScrollView进来的地方。

检查这个例子

NestedScrollView

NestedScrollView就像ScrollView一样,但是它支持在Android的新版本和旧版本中同时作为嵌套的滚动父代和子代。 嵌套滚动默认启用。

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

滚动型

用于可由用户滚动的视图层次结构的布局容器,允许其大于物理显示。 ScrollView是一个FrameLayout,这意味着你应该放置一个包含整个内容的子进行滚动; 这个孩子本身可能是一个复杂的对象层次结构的布局pipe理器

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

除了嵌套的滚动之外, NestedScrollView还增加了一个主要的function,甚至可以使其在嵌套的上下文之外变得有趣:它支持OnScrollChangeListener 。 添加一个OnScrollChangeListener到原来的ScrollView 下面的API 23需要子类化ScrollView或者搞乱 ScrollViewViewTreeObserver ,这往往意味着比子类更多的工作。 使用NestedScrollView可以使用内置setter来完成。

除了给出的答案中列出的优点外,与ScrollView相比,NestedScrollView的另一个优点是它与CoordinatorLayout的兼容性。 ScrollView不协调CoordinatorLayout。 您必须使用NestedScrollView来获取工具栏的“滚动屏幕外”行为。

工具栏不会以Scrollview作为CoordinatorLayout的子项折叠