android RecyclerView 自动滚动
时间: 2023-07-27 14:22:06 浏览: 190
要实现 Android RecyclerView 的自动滚动功能,可以通过使用 `smoothScrollToPosition()` 或 `scrollToPosition()` 方法来实现。
以下是使用 `smoothScrollToPosition()` 实现自动滚动的示例代码:
```java
final RecyclerView recyclerView = findViewById(R.id.recycler_view);
final LinearLayoutManager layoutManager = (LinearLayoutManager) recyclerView.getLayoutManager();
final Handler handler = new Handler();
final Runnable runnable = new Runnable() {
@Override
public void run() {
int nextPosition = layoutManager.findFirstVisibleItemPosition() + 1;
if (nextPosition >= recyclerView.getAdapter().getItemCount()) {
nextPosition = 0;
}
recyclerView.smoothScrollToPosition(nextPosition);
handler.postDelayed(this, 2000); // 2 秒后再次执行
}
};
handler.postDelayed(runnable, 2000); // 2 秒后执行
```
这段代码会在 2 秒后开始每隔 2 秒自动滚动到下一个可见的 item,如果已经滚动到最后一个 item,则会从列表头开始滚动。
注意:这里使用 `smoothScrollToPosition()` 方法来平滑滚动到下一个 item,如果希望直接滚动到下一个 item 可以使用 `scrollToPosition()` 方法。
另外,这里使用了 `Handler` 定时器来控制自动滚动的间隔时间。
阅读全文