我知道我们可以使用方法notifyDataSetChanged()将新元素添加到recyclerview并更新视图,但是我需要平滑过渡。
当我尝试使用带有LinearInterpolator的Transition时,可以达到这种效果,但是滚动会自动跳到更新列表的最后一个位置,因此需要避免这种情况。
moreButtonClicked(){
viewMore.setVisibility(View.GONE);
rcAdapter.moreClicked = true;
rcAdapter.notifyDataSetChanged();
Transition changeBounds = new ChangeBounds();
changeBounds.setDuration(3000);
changeBounds.setInterpolator(new LinearInterpolator() );
TransitionManager.beginDelayedTransition(myCityList,changeBounds);
}
此代码使其自动滚动到recyclerview的最后一项。关于此问题的另一件事是它仅在某些时候发生。我需要提及的是,我的recyclerview位于Nestedscrollview中
最佳答案
我只是想出了解决方案,只需要在NestedScrollView内的布局上放置android:descendantFocusability="blocksDescendants"
即可,这有助于我摆脱此问题。
感谢这篇文章帮助我摆脱了这个问题
NestedScrollView scroll down itself when content is fills