Android仿微信首页下拉显示小程序列表

花点时间重新熟悉一下AndroidUI方面的东西,把古董PullToRefreshView又撸了一遍,技术这种东西真是忘得快啊...在基础上新增一点东西,粗糙地实现了仿微信首页下拉显示小程序列表的样式,是的,粗糙粗糙...

PullToRefreshView原始的实现思路:

1.垂直方向的LinearLayout由三部分组成Header+ScrollableContent+Footer。

2.在加载XML前addview(Header),并且设置Header的marginTop=-Header高度,即Header并隐藏在屏幕上方。

3.在加载完XML后onFinishInflate()内addView(Footer),只要content高度是全屏,footer就会被挤到屏幕下方隐藏。

4.在事件拦截方法中判断是否拦截,两种情况:

(1)向下拉动&content与屏幕顶部相切(中间内容滑到头了还想滑)

(2)向上滑动&content与底部相切(滑到低了还向上滑)

5.在事件处理方法中处理拦截的事件,PRV下拉上滑是通过设置Header的marginTop值来实现的,

 对于4(1),计算滑动距离设置margin值,将marginTop拉出,全显示时状态标记为松开即刷新。

 对于4(2),将margin值继续负增长,则footer自然被引出,全显示时标记可加载。

扫描二维码关注公众号,回复: 4394868 查看本文章

6.数据加载完后取消动画及重新隐藏布局。

搞清楚这些再想如何粗糙实现仿微信就简单了:

1.在Header内头部添加小程序列表布局,下拉到一定距离就能看到

2.适当的状态下全显Header,设Header高度H

(1)原来松开刷新的区域1/2H~2/3H,超过2/3H状态改为松开查看小程序

(2)嗯

3.拦截事件中多处一个上滑推起小程序的判断

。。

写得很粗糙,就当是自己的笔记吧

源码:https://gitee.com/ken1/MyPubApplication.git

猜你喜欢

转载自blog.csdn.net/u013236977/article/details/84847347