android pull存储demo,Android--Demo_PullToRefresh(基础篇)

private void initRefresh()

{

/*

* Mode.BOTH:同时支持上拉下拉

* Mode.PULL_FROM_START:只支持下拉Pulling Down

* Mode.PULL_FROM_END:只支持上拉Pulling Up

* Mode.DISABLED:禁用下拉刷新和上拉加载

* Mode.MANUAL_REFRESH_ONLY:只允许手动触发

*/

/*

* 如果Mode设置成Mode.BOTH,需要设置刷新Listener为OnRefreshListener2,并实现onPullDownToRefresh()、onPullUpToRefresh()两个方法。

* 如果Mode设置成Mode.PULL_FROM_START或Mode.PULL_FROM_END,需要设置刷新Listener为OnRefreshListener,同时实现onRefresh()方法。

* 当然也可以设置为OnRefreshListener2,但是Mode.PULL_FROM_START的时候只调用onPullDownToRefresh()方法,

* Mode.PULL_FROM_END的时候只调用onPullUpToRefresh()方法.

* 我一般用OnRefreshListener2,因为分工比较清楚

*/

mPullToRefreshListView.setMode(PullToRefreshBase.Mode.BOTH);

/*

* getLoadingLayoutProxy(final boolean includeStart, final boolean includeEnd)

* 用于指定显示的标签,第一个是改变头部,第二个是改变底部

*/

ILoadingLayout startLoading = mPullToRefreshListView.getLoadingLayoutProxy(

true, false);

startLoading.setPullLabel("下拉刷新");// 刚下拉时显示的提示

startLoading.setRefreshingLabel("拼命刷新中...");// 刷新时显示的提示

startLoading.setReleaseLabel("释放即可刷新");// 下拉达到一定距离时显示的提示

ILoadingLayout endLoading = mPullToRefreshListView.getLoadingLayoutProxy(false,

true);

endLoading.setPullLabel("上拉加载更多");// 刚上拉时显示的提示

endLoading.setRefreshingLabel("拼命加载中...");// 加载时的提示

endLoading.setReleaseLabel("释放即可加载");// 上拉达到一定距离时显示的提示

mPullToRefreshListView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2()

{

// 下拉刷新

@Override

public void onPullDownToRefresh(PullToRefreshBaserefreshView)

{

// 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中)

mPullToRefreshListView.postDelayed(new Runnable()

{

@Override

public void run()

{

// 停止刷新

mPullToRefreshListView.onRefreshComplete();

// 加载数据

initDownLv();

// 刷新适配器中的数据

myAdapter.notifyDataSetChanged();

}

}, 1000);

}

// 上拉加载更多

@Override

public void onPullUpToRefresh(PullToRefreshBaserefreshView)

{

// 设置一秒后停止刷新(本地设置假数据,时间太短,会导致数据更新后,依旧显示刷新中)

mPullToRefreshListView.postDelayed(new Runnable()

{

@Override

public void run()

{

// 停止刷新

mPullToRefreshListView.onRefreshComplete();

// 加载数据

initUpLv();

// 刷新适配器中的数据

myAdapter.notifyDataSetChanged();

}

}, 1000);

}

});

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
下面是使用 jQuery 实现下拉刷新的代码示例: HTML 结构: ```html <div id="tab3" class="weui-tab__bd-item"> <!-- 搜索框 --> <div class="weui-search-bar weui-search-bar_focusing" id="searchBar"> <form class="weui-search-bar__form"> <div class="weui-search-bar__box"> <i class="weui-icon-search"></i> <input type="search" class="weui-search-bar__input" id="searchInput" placeholder="搜索" required=""> <a href="javascript:" class="weui-icon-clear" id="searchClear"></a> </div> <label class="weui-search-bar__label" id="searchText"> <i class="weui-icon-search"></i> <span>搜索</span> </label> </form> <a href="javascript:" class="weui-search-bar__cancel-btn" id="searchCancel">取消</a> </div> <!-- 下拉刷新 --> <div class="pull-to-refresh-content"> <div class="pull-to-refresh-layer"> <div class="preloader"></div> <div class="pull-to-refresh-arrow"></div> </div> <!-- 列表内容 --> <ul class="list"></ul> </div> </div> ``` CSS 样式: ```css /* 下拉刷新 */ .pull-to-refresh-content { position: relative; overflow: auto; } .pull-to-refresh-layer { position: absolute; top: -40px; width: 100%; height: 40px; text-align: center; line-height: 40px; color: #999; font-size: 14px; } .pull-to-refresh-arrow { display: inline-block; vertical-align: middle; margin-right: 10px; width: 10px; height: 10px; border: 1px solid #999; border-top: none; border-right: none; transform: rotate(-45deg); } .pull-to-refresh-layer .preloader { display: inline-block; vertical-align: middle; margin-right: 10px; } /* 列表 */ .list { margin: 0; padding: 0; list-style: none; } .list li { padding: 10px; border-bottom: 1px solid #ccc; } ``` JavaScript 代码: ```javascript $(function() { // 获取下拉刷新区域和列表区域 var $ptrContent = $('.pull-to-refresh-content'); var $list = $('.list'); // 初始化下拉刷新 $ptrContent.on('ptr:refresh', function(e) { // 模拟 AJAX 请求 setTimeout(function() { // 生成新的列表项 var newItem = '<li>新的列表项</li>'; // 将新的列表项插入到列表中 $list.prepend(newItem); // 结束下拉刷新 $.pullToRefreshDone($ptrContent); }, 2000); }); // 初始化下拉刷新插件 $ptrContent.ptr({ // 修改默认的下拉刷新文字 pullText: '下拉刷新', releaseText: '释放刷新', refreshText: '正在刷新...', // 修改默认的下拉刷新图标 iconArrow: '<div class="pull-to-refresh-arrow"></div>', iconRefreshing: '<div class="preloader"></div>', // 修改默认的下拉刷新触发距离 distance: 50 }); }); ``` 注意:上面的代码使用了第三方的下拉刷新插件 `pull-to-refresh-js`,需要先引入该插件。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值