背景 公司要求开发一个类似微信的朋友圈的页面,要加载展示一些本公司的一些人员的日志。
产品需求 在页面展示日志 在listview的顺序为倒叙 最底部展示最新的(这是和微信的区别) 要的效果是用户手势向屏幕底部滑动时加载数据 用户手势向屏幕上方移动时刷新数据,加载最新的信息展示在底部。 由于这个需求比较特殊,所以要使用一些不太常用的的属性设置。 在这里和大家分享一下(大神恕罪,班门弄斧)。
这里我们项目使用的是PullToRefresh库,小伙伴们很熟悉吧!
private void setPullToRefresh(){
// 设置PullToRefresh的加载模式 Mode.BOTH 可以加载,可以刷新
mlistview.setMode(Mode.BOTH);
//I接下来就是干货了
ILoadingLayout startLabelse = mlistview.getLoadingLayoutProxy(true,false);
startLabelse.setPullLabel("下拉可以加载更多");// 刚下拉时,显示的提示
startLabelse.setRefreshingLabel("加载中");// 刷新时
startLabelse.setReleaseLabel("松开加载更多");// 下来达到一定距离时,显示的提示
ILoadingLayout endLabelsr = mlistview.getLoadingLayoutProxy(false, true);
endLabelsr.setPullLabel("上拉可以刷新");// 刚下拉时,显示的提示
endLabelsr.setLastUpdatedLabel("正在刷新");// 刷新时
endLabelsr.setReleaseLabel("松开后刷新");// 下来达到一定距离时,显示的提示
}
//一定有这个代码
mlistview.onRefreshComplete();
这段代码是加在 加载数据的网络请求的方法里 设置 当第二次加(再次)载时 加载成功展示 连接第一次(上一次)的尾部数据 这样可以使用户看起来舒服 知道是连接上次加载。
mlistview.getRefreshableView().setSelection( mlistview.getRefreshableView().getCount() - 2- (10 * (LoadNumber - 1)));
这里可能说的不太清楚,本人描述能力有待提高,可以交流探讨。