NestedScrollView 修复 NestedScrollView 内部的视图顶部
Posted
技术标签:
【中文标题】NestedScrollView 修复 NestedScrollView 内部的视图顶部【英文标题】:NestedScrollView fix the view top inside NestedScrollView 【发布时间】:2020-03-29 20:33:43 【问题描述】:我想在类似滚动的 Instagram 时将TabLayout
固定在顶部。有没有办法在NestedScrollView
中做到这一点?
NestedScrollView
-- ConstraintLayout
---- OtherViews
---- TabLayout
---- ViewPager
https://i.imgur.com/G5QcqaW.png
https://gist.github.com/buraktabn/c73cd04bed6a223471834756d6f32773
【问题讨论】:
你能附上你实际布局的例子吗? 我更新了问题。 【参考方案1】:你能不能这样做:
ConstraintLayout
-- OtherViews
-- TabLayout
-- NestedScrollView
---- ViewPager
这样 ViewPager 的内容会滚动吗?仅供参考,可能还值得一看 CoordinatorLayout
和 CollapsingToolbarLayout
(https://material.io/develop/android/components/collapsing-toolbar-layout/),这将允许用户在向上滚动时重新获得部分屏幕。
【讨论】:
【参考方案2】:您不能直接在NestedScrollView
中执行此操作,因为视图本身应该滚动内容。
如果您要在顶部寻找固定的 TabLayout
且不会移动,您可以将 TabLayout
拉出 NestedScrollView
并将这两个视图包含在另一种布局类型下(例如 @ 987654328@、ConstraintLayout
等)。
如果您希望 TabLayout
在用户滚动时扩展和收缩,最好的选择是 CoordinatorLayout
,它可以包含 NestedScrollView
,然后在 CoordinatorLayout
的 @ 下实现您的 TabLayout
987654335@/CollapsingtoolbarLayout
。该结构类似于:
CoordinatorLayout
- AppBarLayout
-- CollapsingToolbarLayout
--- [Your implementation of the `TabLayout`]
-- NestedScrollView
您可以在此处找到有关CoordinatorLayout
和CollapsingToolbarLayout
的更多信息:
https://material.io/develop/android/components/collapsing-toolbar-layout/
(简化介绍)https://antonioleiva.com/collapsing-toolbar-layout/
【讨论】:
以上是关于NestedScrollView 修复 NestedScrollView 内部的视图顶部的主要内容,如果未能解决你的问题,请参考以下文章
NestedScrollView 修复 NestedScrollView 内部的视图顶部
Flutter 首页必用组件NestedScrollView
Flutter 首页必用组件NestedScrollView
Flutter 首页必用组件NestedScrollView
当在nestedscrollview的recyclerview中将项目拖出可见空间时-nestedscrollView不滚动