Android之类似网易新闻客户端首页新闻列表实现思路

网易新闻客户端首页列表实现思路:

网易新闻客户端的实现主要涉及到三个部分:

1,viewFlow新闻轮播图;

2,pullToRefreshListView,下拉刷新的列表

3,将viewFlow和pullToRefreshListView进行结合的自定义图层。

实现步骤

1,viewFlow新闻轮播图的实现:新闻轮播图使用的是开源的viewFolw组件,在网上下载相应的viewFlow组件的源代码,并将 其放入自己的工程中。
2,pullToRefreshListView下拉刷新列表:下拉刷新的列表使用的是开源的pullToRefreshListView组件,与viewFlow组件一样 在网上下载相应的源代码,并与自己的工程进行合并。
3,将viewFlow作为view添加到pullToRefreshListView中,这样,网易新闻客户端的框架就搭建好了。

问题与解决办法

但是在实际操作中,我们会发现,自己实现的工程与真正的网易新闻客户端相差很多,主要是在滑动viewFlow的时候,listview同样会接收到触摸事件,导致两个事件相混淆,造成在滑动viewFlow的时候会使listview跟随滑动。
解决办法:尝试过很多种解决办法:
1 在viewFlow和pullToRefreshListView中进行修改,由于这两个开源的代码相对的复杂,贸然修改可能会破坏自身的逻辑,同时这两个组件分别为不同的代码,之间通信会存在困难,经过很多次的尝试,发现不能对两个组件进行修改,。

2 经过反复观察网易新闻,自己突然想到了图层的概念,我们可以自己添加一个图层 ,在这个图层中对事件进行拦截判断,然后分发给不同的组件进行处理,这样也不会破坏两个组件本身的逻辑,所以添加了一个Layout自定义图层,在这个图层中我对事件进行了重定向,当点击到viewflow这个区域时,我会进行判断,是水平滑动还是垂直滑动,如果是水平滑动 ,则将事件直接传递给viewflow进行处理,不传递给lisview,如果为垂直滑动,则之间将事件传递给listview处理。这样当左右滑动viewflow的时候不会干扰到listview;垂直滑动viewFlow的时候,就是由listview进行处理,上下滑动。

最重要的还是解决viewFlow添加到listview中后,对触屏事件干扰的处理,希望以上的思路能对您有所帮助!!

ViewFlow和下拉刷新的控件在网上可以找见,我这里也有,如有需要,请留言!!

如有错误,请指正!!

这是下载地址哦http://download.csdn.net/detail/peidonghui/4642014

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值