我在嵌套滚动视图中实现了一个循环视图,但是循环视图的滚动定位方法不起作用。
下面是我的示例代码
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:paddingBottom="@dimen/activity_vertical_margin"
app:layout_behavior="@string/appbar_scrolling_view_behavior">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<android.support.v7.widget.RecyclerView
android:id="@+id/list_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:layout_behavior="@string/appbar_scrolling_view_behavior"/>
</LinearLayout>
</android.support.v4.widget.NestedScrollView>
以下是滚动的方法
RecyclerView.SmoothScroller smoothScroller = new LinearSmoothScroller(this) {
@Override
protected int getVerticalSnapPreference() {
return LinearSmoothScroller.SNAP_TO_START;
}
};
smoothScroller.setTargetPosition(pos);
recyclerView.getLayoutManager().startSmoothScroll(smoothScroller);
7条答案
按热度按时间hmmo2u0o1#
这就是我解决这个问题的方法
首先使用下面的方法获得需要滚动的循环视图位置
然后将嵌套滚动视图滚动到该位置
不要忘记在嵌套滚动视图上添加
android:fillViewport="true"
7vux5j2d2#
问题是你需要滚动嵌套滚动视图,而不是循环视图。例如:
ctzwtxfj3#
删除NestedScrollView并添加
到您的回收视图。然后滚动到位置工作正常。
jjjwad0x4#
试试这个
zbsbpyhn5#
请使用此选项:
也许能解决你的问题。
dfty9e196#
您可以使用此扩展函数。
e5nszbig7#
在我的例子中,它是这样工作的。