首先,我需要将NestedScrollView
滚动到顶部,但smoothScrollTo(0, 0)
对我不起作用(页面只是跳了一下)。其次我想知道如何滚动到NestedScrollView
内的某个视图。 API 27,支持27.0.2。
<layout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools">
<data/>
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/refresh"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.NestedScrollView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/PageBackground"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical"
android:paddingBottom="@dimen/indent_page_bottom">
...
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
</android.support.v4.widget.SwipeRefreshLayout>
</layout>
答案 0 :(得分:0)
我有一个nestedscrollview
,里面有recyclerview
。我尝试了smoothScrollTo(0, nsv_main.top)
。没用我为nestedscrollview
设置了一个ID,如下所示:
<android.support.v4.widget.NestedScrollView
android:id="@+id/nsv_main"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@color/PageBackground"
android:fillViewport="true">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:descendantFocusability="blocksDescendants"
android:orientation="vertical"
android:paddingBottom="@dimen/indent_page_bottom">
...
<android.support.v7.widget.RecyclerView
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" />
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
,并在我的点击事件中给了nsv_main.scrollY = 0
。即使滚动不顺畅,它仍然有效。
答案 1 :(得分:0)
尝试使用fling
来实现平滑滚动:
nestedScrollView.fling(0);
nestedScrollView.smoothScrollTo(0, 0);