首页信息流布局-XScrollView

分析了下滴滴首页布局,以为是通过touch事件去不断刷新底部布局的位置

结果实现后,发现滑动不流畅,而且布局内子view的隐藏显示,

都会触发整个布局的重新测量,导致滑动后的位置被重新初始化回原来的位置。

选择第二种方案,用nestedscrollview+recyclerview去实现,仿滴滴首页信息流demo

先是布局,地图是不能随意动,但是地图要随顶部tab进行切换

所以首先主界面布局是(直接上代码)

fragment里mapview可以用match_parent去设置宽高,这样的话,底部布局后面滑动到顶部,就可以直接gone掉tablayout、titlebar,也不怕地图会跟着顶到顶部。

信息流布局单独写了个view,继承自nestedscrollview,这样可以重写nestedscrollview的一些方法。

选择地址下面布局设计是一个recyclerview,实现适配不同布局,这里只做订单和优惠券展示。

这样每次进入首页都会加载这些布局数据,拿到后会塞进recyclerview里,通过adapter itemview监听布局改变去拿首个item的高度

回调后通过屏幕高度 - (底部布局的最顶部布局toplayout + 选择上下车布局bottomview高度 + 首个item高度 + 虚拟导航键高度)

得到nestedscrollview 最顶部布局到屏幕顶部的距离,设置给toplayout。

这样页面一进来就显示在这个位置

 

显示效果不是很好,大家可以自己调这个位置。

滑动的时候就简单了,滑到快接近顶部tablayout的时候把tablayout和titlebar给隐藏,该有信息流布局toplayout也隐藏

显示tobottomimg,滑下来就显示。

如果有设计+效果 可以做到99%跟滴滴差不多,后期还可以扩展的更丰满

主要是项目都是已经迭代很多,功能已经完善,突然产品有一天想跟滴滴一样怎么办。

不用大动首页,照着我的这个慢慢细改吧,最省时省力

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值