这个蓝色的影子叫什么?
What is this blue shadow called?
这个蓝色的影子叫什么,它结束后拉动视图会出现?当它出现或消失时是否触发了监听器?
我已经实现了 https://github.com/maurycyw/StaggeredGridView,我想在这个视图组过度滚动时加载更多项目。
它被称为 Overscroller。Listview
内置了对过度滚动的支持。查看 setOverscrollMode
和相关方法 setOverscrollHeader
和 setOverscrollFooter
。 ListView 通过覆盖 AbsListView.onOverscrolled;
来使用滚动 header/footer 如果您想要不同的行为,您可以通过自己覆盖来实现它。
不幸的是,没有现成的库或功能来实现这一点。但是有很好的开放库,你可以适应。
我的建议是检查 SwipeRefreshLayout
,它在 Android 支持库中。
这个ViewGroup支持从顶部滑动来回调,你可以调整它来实现底部滑动。
文档:https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
编辑:
或者,使用滚动侦听器实现 load more
函数相对容易,它只是一个简单的 OnScrollListener
,代码如下:
private long lastRequestTime = 0;
public void onScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount){
if (((firstVisibleItem+visibleItemCount) > totalItemCount - 4) &&
(lastRequestTime + 1000 < System.currentTimeMillis())) {
lastRequestTime = System.currentTimeMillis();
// load more ...
}
}
这个蓝色的影子叫什么,它结束后拉动视图会出现?当它出现或消失时是否触发了监听器?
我已经实现了 https://github.com/maurycyw/StaggeredGridView,我想在这个视图组过度滚动时加载更多项目。
它被称为 Overscroller。Listview
内置了对过度滚动的支持。查看 setOverscrollMode
和相关方法 setOverscrollHeader
和 setOverscrollFooter
。 ListView 通过覆盖 AbsListView.onOverscrolled;
来使用滚动 header/footer 如果您想要不同的行为,您可以通过自己覆盖来实现它。
不幸的是,没有现成的库或功能来实现这一点。但是有很好的开放库,你可以适应。
我的建议是检查 SwipeRefreshLayout
,它在 Android 支持库中。
这个ViewGroup支持从顶部滑动来回调,你可以调整它来实现底部滑动。
文档:https://developer.android.com/reference/android/support/v4/widget/SwipeRefreshLayout.html
编辑:
或者,使用滚动侦听器实现 load more
函数相对容易,它只是一个简单的 OnScrollListener
,代码如下:
private long lastRequestTime = 0;
public void onScroll (AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount){
if (((firstVisibleItem+visibleItemCount) > totalItemCount - 4) &&
(lastRequestTime + 1000 < System.currentTimeMillis())) {
lastRequestTime = System.currentTimeMillis();
// load more ...
}
}