先来看看效果图


关键代码
1.监听滚动事件
首先要给listview添加setOnScrollListener监听,注意这个监听在recyclerView上是addOnScrollListener,也就是说下面代码同时支持recyclerView。
public int firstVisible=0,visibleCount=0, totalCount=0; videoList.setOnScrollListener(new AbsListView.OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { switch (scrollState) { case AbsListView.OnScrollListener.SCROLL_STATE_FLING: Log.e("videoTest", "SCROLL_STATE_FLING"); break; case AbsListView.OnScrollListener.SCROLL_STATE_IDLE: Log.e("videoTest", "SCROLL_STATE_IDLE"); autoPlayVideo(view); break; case AbsListView.OnScrollListener.SCROLL_STATE_TOUCH_SCROLL: Log.e("videoTest", "SCROLL_STATE_TOUCH_SCROLL"); break; default: break; } } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // firstVisibleItem 当前第一个可见的item // visibleItemCount 当前可见的item个数 if (firstVisible == firstVisibleItem) { return; } firstVisible = firstVisibleItem; visibleCount = visibleItemCount; totalCount = totalItemCount; } }); 监听里会有两个方法,我们用onScroll方法记录 当前第一个可见Item,以及可见Item总数,用onScrollStateChanged来监听手滑动屏幕的整个过程。 当onScrollStateChanged 中的scrollState字段值等于SCROLL_STATE_IDLE 时,代表本次滑动完毕并停止滚动
注:相关教程知识阅读请移步到Android开发频道。
新闻热点
疑难解答