此示例适用于列表视图,您也可以参考网格视图。
对于具有滚动持续时间的 SmoothScroll:
getListView().smoothScrollToPositionFromTop(position,offset,duration);
参数
位置 -> 要滚动到的位置
offset ----> 滚动完成时距离视图顶部的位置像素所需的距离
持续时间-> 用于滚动的毫秒数
注意:从 API 11 开始。
listview 很长,而且还带有字母滚动条。然后我发现同一个函数也可以带其他参数:)
定位当前选择:
int h1 = mListView.getHeight();
int h2 = v.getHeight();
mListView.smoothScrollToPositionFromTop(position, h1/2 - h2/2, duration);
或者
您可以使用 RecyclerView :
为此,您必须使用 LayoutManager。请按照以下步骤操作。
1)。首先,在Activity/Fragment 中声明 LayoutManager。比如我拍了LinearLayoutManager
private LinearLayoutManager mLinearLayoutManager;
2)。初始化LinearLayoutManager 并将其设置为您的RecyclerView
mLinearLayoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(mLinearLayoutManager);
3)。在您的按钮onClick, 上执行此操作以滚动到您的RecyclerView 底部。
mLinearLayoutManager.scrollToPosition(yourList.size() - 1); // yourList 是您传递给 RecyclerView Adapter 的 ArrayList。
希望这会有所帮助..!!