如何将CoordinatorLayout的内容滚动到顶部?

时间:2018-10-10 10:15:38

标签: android android-recyclerview android-coordinatorlayout android-nestedscrollview

ViewPager有两个Fragment,当我滚动该Fragment时,其中一个NestedScrollView的布局中包含一个RecyclerView,另一个NestedScrollView的布局中包含一个CoordinatorLayoutCoordinatorLayout到底部,这是要求用户单击整个标题区域,所有<android.support.design.widget.CoordinatorLayout android:id="@+id/coordinate_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.design.widget.AppBarLayout android:fitsSystemWindows="true" android:background="?attr/color_26" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.design.widget.CollapsingToolbarLayout app:layout_scrollFlags="scroll|exitUntilCollapsed" android:layout_width="match_parent" android:layout_height="wrap_content"> <android.support.v7.widget.Toolbar app:contentInsetLeft="0dp" app:contentInsetStart="0dp" app:layout_collapseMode="pin" android:layout_width="match_parent" android:layout_height="wrap_content"> </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_width="match_parent" android:layout_height="42dp"> </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_width="match_parent" android:layout_height="match_parent"> </android.support.v4.view.ViewPager> </android.support.design.widget.CoordinatorLayout> 的内容必须滚动到与开头相同的顶部。但我不知道如何使用ID Column1 Column2 1 50 220 2 60 220 3 40 220 4 10 220 5 25 220 6 35 220 来做到这一点。似乎没有支持我需求的api方法。

这是我的布局xml:

{{1}}

1 个答案:

答案 0 :(得分:0)

  

当我将NestedScrollView滚动到底部时,这是一个需求   该用户单击整个CoordinatorLayout的整个标题区域   内容必须滚动到与开头相同的顶部。可是我不知道   用CoordinatorLayout

当用户单击整个标题区域(也许单击自定义Toolbar的{​​{1}})时,您可以解决此问题,重新加载TextView

Activity

这将使内容像开头一样从头开始。

或者,尝试以下操作:

finish();
startActivity(getIntent());

为此检查答案:https://stackoverflow.com/a/33584361/4409113

但是,您将不需要findViewById(R.id.recycler_view).setFocusable(false); findViewById(R.id.temp).requestFocus(); ,因为您只有CollapsingToolbarLayoutTabLayout并且其中没有Toolbar或视差视图。