如何将 CoordinatorLayout 内容滚动到顶部?
Posted
技术标签:
【中文标题】如何将 CoordinatorLayout 内容滚动到顶部?【英文标题】:How to scroll CoordinatorLayout's content to the top? 【发布时间】:2019-03-15 05:26:46 【问题描述】:ViewPager
有两个Fragment
s,一个Fragment
的布局包含一个NestedScrollView
,另一个的布局包含一个RecyclerView
,当我将NestedScrollView
滚动到底部时,这是一个要求用户单击整个标题区域所有 CoordinatorLayout
的内容必须滚动到顶部与开头相同。但我不知道如何使用CoordinatorLayout
。好像没有支持我需求的api方法。
这是我的布局 xml:
<android.support.design.widget.CoordinatorLayout
android:id="@+id/coordinate_layout"
android:layout_
android:layout_>
<android.support.design.widget.AppBarLayout
android:fitsSystemWindows="true"
android:background="?attr/color_26"
android:layout_
android:layout_>
<android.support.design.widget.CollapsingToolbarLayout
app:layout_scrollFlags="scroll|exitUntilCollapsed"
android:layout_
android:layout_>
<android.support.v7.widget.Toolbar
app:contentInsetLeft="0dp"
app:contentInsetStart="0dp"
app:layout_collapseMode="pin"
android:layout_
android:layout_>
</android.support.v7.widget.Toolbar>
</android.support.design.widget.CollapsingToolbarLayout>
<android.support.design.widget.TabLayout
app:tabTextColor="?attr/color_8"
app:tabSelectedTextColor="?attr/color_18"
app:tabIndicatorHeight="0dp"
app:tabGravity="fill"
app:tabMode="fixed"
android:layout_
android:layout_>
</android.support.design.widget.TabLayout>
</android.support.design.widget.AppBarLayout>
<android.support.v4.view.ViewPager
app:layout_behavior="@string/appbar_scrolling_view_behavior"
android:id="@+id/view_pager"
android:layout_
android:layout_>
</android.support.v4.view.ViewPager>
</android.support.design.widget.CoordinatorLayout>
【问题讨论】:
【参考方案1】:当我将
NestedScrollView
滚动到底部时,这是一个需求 该用户单击整个标题区域全部CoordinatorLayout
的 内容必须滚动到与开头相同的顶部。但我不知道怎么做 用CoordinatorLayout
做到这一点
当用户单击整个标题区域时,您可以处理该问题(也许单击自定义 Toolbar
的 TextView
),重新加载刷新 Activity
:
finish();
startActivity(getIntent());
这将使内容像开头一样从顶部开始。
或者,试试这个:
findViewById(R.id.recycler_view).setFocusable(false);
findViewById(R.id.temp).requestFocus();
检查这个答案:https://***.com/a/33584361/4409113
但是,您不需要CollapsingToolbarLayout
,因为您只有TabLayout
和Toolbar
,并且其中没有ImageView
或视差视图。
【讨论】:
工具栏必须贴在顶部 检查更新的答案。希望这正是您正在寻找的。span> 我认为重启 Activity 是性能、用户体验和 Android 设计最糟糕的可能性之一。以上是关于如何将 CoordinatorLayout 内容滚动到顶部?的主要内容,如果未能解决你的问题,请参考以下文章
如何在折叠布局下的 CoordinatorLayout 中正确对齐元素?
CoordinatorLayout + AppBarLayout + NavigationDrawer
在片段中使用 CoordinatorLayout 时如何使状态栏透明