【发布时间】:2019-09-03 11:28:49
【问题描述】:
我在 recyclerview 中显示了一个水平方向的项目列表。现在我想在加载项目时自动滚动recyclerview,并且它应该像循环一样继续。我怎样才能实现这种机制。
【问题讨论】:
-
查看recyclerview的scrollToPosition()函数
标签: android android-recyclerview
我在 recyclerview 中显示了一个水平方向的项目列表。现在我想在加载项目时自动滚动recyclerview,并且它应该像循环一样继续。我怎样才能实现这种机制。
【问题讨论】:
标签: android android-recyclerview
为此使用句柄
final int speed = 5000; // delay time
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
int count = 0;
boolean flag = true;
@Override
public void run() {
if(count < adapter.getItemCount()){
if(count==adapter.getItemCount()-1){
flag = false;
}else if(count == 0){
flag = true;
}
if(flag) count++;
else count--;
recyclerView.smoothScrollToPosition(count);
handler.postDelayed(this,speed);
}
}
};
handler.postDelayed(runnable,speed);
【讨论】:
首先,如果要循环,可以覆盖recyclerview适配器getItemCount(),返回Integer.MAX_VALUE。
第二,如果你只想滚动,你可以获取Butt的anwser以供参考。
但是,如果你想要平滑滚动。幸运的是,Recyclerview 支持它,你可以看到
LayoutManager smoothScrollToPosition(),您可以自定义您的SmoothScroller 或参考LinearSmoothScroller
【讨论】: