1
iConnect 2018-07-19 22:38:46 +08:00
异步延迟 3 秒加载总够了
|
2
lookforsex OP @iConnect 我好像没说明白,就是广告在加载的时候,还是会占位,白色区域。加载成功还好,加载失败就永远是空白的,就像 feed 中间断了,视觉一眼差
|
3
haaro 2018-07-19 22:48:28 +08:00
推荐 Airbnb 的 Epoxy
|
4
StephenDev 2018-07-19 22:52:24 +08:00
那你为什么不直接先加载出 feed,然后等广告加载出来之后,在插入到中间呢,这样话即使广告失败了,也不影响 feed 啊。recyclerview 完全可以动态增删 item 的啊。
|
5
lookforsex OP @StephenDev 这个有想过,但是效果也不太理想,主要位置的问题,理想效果是自然滑动下去就已经加载好与 feed 融为一体的感觉,而且有些情况下,滑到某位置,在两条新闻中闪现出来一条广告。
参考了 Instagram 感觉它的广告很自然,每五个一条广告,感觉是有预加载,不知道是否是监听了滑动事件 |
6
iConnect 2018-07-19 23:23:05 +08:00
@lookforsex 如果你的新闻 list 时可以缓存的话,那就把广告 item 也提前缓存;如果新闻 list 是实时查询出来的,可以考虑异步缓存一下广告 item,先不要占位;如果空白框是广告商那边的问题,那就直接请对方考虑网速慢的情况,不要先渲染 dom 高度,这个你没法控制的
|
7
StephenDev 2018-07-20 09:37:21 +08:00
@lookforsex 那你试下在 recyclerview 的 create 或者 bind 的时候加一个判断。
比如 create 的时候,if(pos>0&&adList!=null&&pos % 5 ==0){return adViewHolder} 这样的话就可以在有广告的情况下,每隔 5 个 item 出现一个广告,这样应该也不用动态的去自己增删了。 |
8
GoodRainChen 2018-07-24 20:35:38 +08:00
先加载,再插入。notifyItemAdd
|