android:ScrollView vs NestedScrollView
ScrollView
和NestedScrollView
实际上有什么区别? 我已经使用了他们两个。 它们都是扩展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
或者搞乱 ScrollView
的ViewTreeObserver
,这往往意味着比子类更多的工作。 使用NestedScrollView
可以使用内置setter来完成。
除了给出的答案中列出的优点外,与ScrollView相比,NestedScrollView的另一个优点是它与CoordinatorLayout的兼容性。 ScrollView不协调CoordinatorLayout。 您必须使用NestedScrollView来获取工具栏的“滚动屏幕外”行为。
工具栏不会以Scrollview作为CoordinatorLayout的子项折叠