ListView实现仿知乎广告Item
前言
知乎APP有一个广告效果,是list在滑动的时候,在某一个item显示出一个远大于item的背景,给人一种item是空的感觉,网上已经有了demo,但我看了看全是拿RecyclerView写的,RecyclerView有一个好处就是,它滑动时的回调,可以准确的拿到dx dy。
1 | public void onScrolled(RecyclerView recyclerView, int dx, int dy) |
但是结合我们的项目,还是使用的之前的ListView,如果整个修改成RecyclerView,成本太高,于是就在ListView上尝试的写了一次,稍微记录一下实现方法。
因为我们的Item里面,还有一个类似弹幕的东东,就没有像网上的demo一样直接画drawable,而是采用了LinearLayout来实现。
原理
ListView也有onScroll()方法,不它该方法的回调时给的参数是item的position
1 | onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) |