赞
踩
Listview上拉刷新下拉加载是什么
就是android中的一种加载数据的方式
如何实现它
他需要用到三个方法,
分别是
setOnScrollListener滑动监听
onLoad()加载数据用的
pullLoad()刷新数据用到的方法
先要设置头布局headerView;
头布局高度headerViewHeight;
还要给头布局设置图片
在设置底布局footerView;
底布局的高度footerViewHeight;
下拉刷新
下拉刷新是通过设置setOnTouchListener()方法,监听触摸事件,通过手指滑动的不同处理实现相应逻辑。
实现比较复杂,分为了三个情况,初始状态(显示下拉刷新),释放刷新状态,刷新状态。
其中下拉刷新状态和释放状态的改变,是由于手指滑动的不同距离,是在MotionEvent.ACTION_MOVE中进行判断,该判断不处理任何数据逻辑,只是根据手指滑动的偏移量该表UI的显示。
刷新状态的判断是在MotionEvent.ACTION_UP手指抬起时判断的。这很好理解,因为最终下拉刷新是否加载数据的确定,是由我们手指离开屏幕时与初始值的偏移量确定的。如果我们的偏移量小于了头布局的高度,代表不刷新,继续隐藏头布局。如果偏移量大于了头布局的高度,代表刷新,修改UI,同时通过接口回调,让其持有者进行加载数据。
上拉加载
上拉加载和下拉刷新不同,他的视线较为简单,我们通过ListView的滚动监听进行处理相应逻辑。即setOnScrollListener(this);。
该方法需要实现两个回调方法
ublic void onScroll(AbsListView view, int firstVisibleItem,int visibleItemCount, int totalItemCount):滚动监听的调用。
public void onScrollStateChanged(AbsListView view, int scrollState):滑动状态改变的回调。其中scrollState为回调的状态,可能值为
SCROLL_STATE_IDLE:闲置状态,手指松开后的状态回调
SCROLL_STATE_TOUCH_SCROLL:手指触摸滑动的状态回调
SCROLL_STATE_FLING:手指松开后惯性滑动的回调
https://www.cnblogs.com/lovelyYakir/p/5668331.html
https://blog.csdn.net/lisdye2/article/details/51449716
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。