作者:程序员小冰,GitHub主页:https://github.com/QQ986945193
新浪微博:http://weibo.com/mcxiaobing
首先给大家看一下我们今天这个最终实现的效果图:
好了,简单的介绍一下,SwipeRefreshLayout是android系统自带的一个控件,
可以看到现在App好多刷新都有这样类似的效果。其实它的使用还是比较
简单的,就是在我们的listview的控件上面加上就行了,然后再在java代码
中设置它的颜色,以及监听它的刷新事件。我这里随便用了一个list集合。
还有刷新结束后没有操作什么内容,但是实际项目中大家按例套进去即可。
首先SwipeRefreshLayout是V4包下的,我们xml引用它的时候可以是这样:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<android.support.v4.widget.SwipeRefreshLayout
android:id="@+id/swipe_container"
android:layout_width="match_parent"
android:layout_height="match_parent">
<ListView
android:id="@+id/listview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:padding="16dp" />
</android.support.v4.widget.SwipeRefreshLayout>
</RelativeLayout>
然后,我们再在java代码中进行监听事件,以及设置刷新颜色:
package davidswiperefreshlayout.qq986945193.davidswiperefreshlayout;
import android.app.Activity;
import android.os.Bundle;
import android.os.Handler;
import android.support.v4.widget.SwipeRefreshLayout;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import java.util.ArrayList;
/**
* @author :程序员小冰
* @新浪微博 :http://weibo.com/mcxiaobing
* @GitHub: https://github.com/QQ986945193
* @CSDN博客: http://blog.csdn.net/qq_21376985
* @码云OsChina :http://git.oschina.net/MCXIAOBING
*/
public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {
private SwipeRefreshLayout mSwipeLayout;
private ListView mListView;
private ArrayList<String> list = new ArrayList<String>();
private ArrayAdapter<String> adapter;
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
mListView = (ListView) findViewById(R.id.listview);
/**
* listview绑定adapter
*/
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, getData());
mListView.setAdapter(adapter);
mSwipeLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_container);
mSwipeLayout.setOnRefreshListener(this);
mSwipeLayout.setColorSchemeResources(android.R.color.holo_blue_bright,
android.R.color.holo_green_light, android.R.color.holo_orange_light,
android.R.color.holo_red_light);
}
private ArrayList<String> getData() {
list.add("Hello world!");
list.add("CSDN:程序员小冰");
list.add("An Android Developer");
list.add("http://weibo.com/mcxiaobing");
list.add("http://git.oschina.net/MCXIAOBING");
list.add("https://github.com/QQ986945193");
list.add("An Android Developer");
list.add("http://weibo.com/mcxiaobing");
list.add("http://git.oschina.net/MCXIAOBING");
list.add("https://github.com/QQ986945193");
list.add("An Android Developer");
list.add("http://weibo.com/mcxiaobing");
list.add("http://git.oschina.net/MCXIAOBING");
list.add("https://github.com/QQ986945193");
return list;
}
public void onRefresh() {
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
mSwipeLayout.setRefreshing(false);
}
}, 3000);
}
}
好了,教程到此结束。如果此文章帮到了你,欢迎点赞。
源代码需要的可以去
(AndroidStudio版)github下载地址:
https://github.com/QQ986945193/DavidSwipeRefreshLayout
(AndroidStudio版)Git开源中国下载地址:
http://git.oschina.net/MCXIAOBING/DavidSwipeRefreshLayout
<script type="text/javascript">
$(function () {
$('pre.prettyprint code').each(function () {
var lines = $(this).text().split('\n').length;
var $numbering = $('<ul/>').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('<li/>').text(i));
};
$numbering.fadeIn(1700);
});
});
</script>
分享到:
相关推荐
使用Android 系统自带的 控件 SwipeRefreshLayout 实现下拉刷新功能
SwipeRefreshLayout结合RecyclerView实现下拉刷新和滑动加载更多 现在很多界面都是要求,下拉刷新,列表项目更多的时候,滑动加载更多,就像微信朋友圈一样,下拉时要刷新,向上滑动要实 现“加载更多”。 我也是...
Android Studio 上拉加载下拉刷新的DEMO,简单易懂,以后可以在此基础上做扩展
谷歌官方的下拉刷新控件。在新版v4包中。
Android5.0SwipeRefreshLayout控件自带下拉刷新,自动刷新,scrollview,Android新控件效果很好,也很好用,仿饿了么boss直聘中的下拉刷新。zip
谷歌推出的下拉刷新控件,从此告别自定义下拉刷新控件的烦恼,并且有向下兼容的V4包哦
见过的android中仿iphone最好的控件,实现下拉刷新 上提加载等功能
android原装下拉刷新控件--SwipeRefreshLayout
SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下,但必须把你的support library的版本升级到19.1。 提到下拉刷新大家一定对ActionBarPullToRefresh比较熟悉,而如今google...
Android通用下拉刷新控件的使用
使用SwipeRefreshLayout和RecyclerView实现下拉刷新列表数据的效果
Android SwipeRefreshLayout GMail下拉刷新
SwipeRefreshLayout字面意思就是下拉刷新的布局,继承自ViewGroup,在support v4兼容包下 详情参考http://blog.csdn.net/jabony/article/details/22890793
该工具类封装了一个自定义的带下拉刷新的listview,可直接导入Module工程,然后依赖到当前项目即可使用, https://blog.csdn.net/weixin_41771564/article/details/81082512这里有详细的使用
SwipeRefreshLayout+RecyclerView 完成下拉刷新,上拉加载更多的自定义控件
使用SwipeRefreshLayout实现下拉刷新的一个Demo
SwipeRefreshLayout+Recyclerview实现下拉刷新和上拉自动加载
Android之SwipeRefreshLayout下拉刷新控件,文章地址:http://blog.csdn.net/ccslff/article/details/51756282
目前已经实现了四种下拉刷新效果: 新浪微博下拉刷新风格(可设置各种状态是的文本,可设置整个刷新头部的背景) 慕课网下拉刷新风格(可设置其中的 logo 和颜色成自己公司的风格,可设置整个刷新头部的背景) 美团...
主要为大家详细介绍了Android官方下拉刷新控件SwipeRefreshLayout使用方法,实例展示如何使用下拉刷新控件,感兴趣的小伙伴们可以参考一下