Android自定义控件(一) 下拉刷新,上拉分页加载更多(支持ListView, GridView, ScrollView)

本文介绍了如何在Android中实现自定义控件以支持ListView和GridView的下拉刷新和上拉加载更多功能。通过自定义组合控件,添加头部和脚部,并拦截触屏事件来控制头部的topMargin,从而实现下拉刷新效果。文中提到了多个关键类的实现,包括PullToRefresh、LoadMoreListView等,并强调了基础知识点如Touch事件传递机制和ViewGroup的理解。
摘要由CSDN通过智能技术生成

        首先说明,这几篇文章是对一些前辈的成果进行学习后的心得总结。也借这种方式对他们表示谢意。

        最近项目中好几个模块都用到listview和gridview的下拉刷新,上拉加载更多等功能,而且涉及到图片的批量下载。水平有限,首先是想到找一些比较成熟的作品,然后自己修改后再使用。这几篇文章就分析下我站在巨人的肩膀上学习的经过。现在网上一搜,几乎所有的“下拉刷新类”都是通过自定义组合控件,添加下拉头部或脚部,然后控制下拉头部的或脚部的topMargin值(官方的下拉刷新控件SwipRefreshLayout是通过父视图控制子视图的头部偏移量)完成下拉效果。所以,“下拉刷新类”不外乎下面几个过程:

        1.  自定义组合控件,通常继承LinearLayout或者更明确地继承ListView,GridView等。

        2.  添加头部和脚部,ListView可以直接自身添加头部子视图和脚部子视图,继承其他布局的组合自定义控件分别在最初始和最末尾添加视图。

        3.  通过适时拦截触屏事件,控制头部的topMargin达到下拉的效果。触屏事件可以通过外层布局控件拦截并处理或者在内层的ListView和GridView等处理。

        也有直接继承ViewGroup实现的完全自定义刷新控件:http://www.eoeandroid.com/thread-536402-1-1.html,这个太厉害了。


        基础

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值