发布网友 发布时间:2024-10-17 12:06
共1个回答
热心网友 时间:2024-10-17 18:13
1.下拉刷新通过onTouchEvent判断手势,来改变listview的header。header的状态共4种,自己定义为:NONE(对应图1):初始状态PULL(对应图2):下拉状态,此时松开会还原到状态NONE,并不进行刷新RELEASE(对应图3):同样是下拉状态,但此刻松开会执行刷新,进入状态REFRESHINGREFRESHING(对应图4):正在执行刷新,刷新结束后进入状态NONE。header在四种状态切换时不仅改变内部组件,同时改变自身的大小。改变内部组件的体现比如,箭头的朝上或者朝下,文字提示的变化,等待圆圈的显示与否。大小的改变其实就是高度的改变,NONE时header高度为0,RELEASE时header的高度由你下拉的程度决定。2.加载更多在listview滑动停止后,判断listview的最后一个item是否已经显示,如果显示说明listview已经滑动到了最底部,这时便触发加载更多的方法,方法结束根据结果改变footer。3.回调方法在类中定义了两个接口OnRefreshListener和OnLoadListener,用来定义和提供加载数据的方法,具体实现则交给它们的实现类去做。