android 下拉刷新控件swipeRefreshLayout

1.android获取新数据的时候刷新界面都是基本是上下拉刷新,但刷新效果基本都是千篇一律的,
所以google自己定义了一个下拉刷新控件SwipeRefreshLayout.
2.Api解读:
   
Api中对SwipeRefreshLayout的解释需要注意几点(图片中已经表示出)
    1.要用用SwipeRefreshLayout要实现它的OnRefreshListenter,它是用来监听数据的获取的.
    2.要用利用进度条动画的时候就要设置它的setRefreshing,为true的时候就显示进度条动画,为false时候就不显示进度条动画.
    3.当不想用刷新功能的时候就直接设置它setEnabled,为false则不可用.
    4.有一个注意事项:SwipeRefreshLayout只能有一个子View,所以它通常就包含一个ListView , ScrollView,GridView等
3.代码实现:
    功能说明:ListView通过下拉刷新获取更多数据.
    有些人的android.support.v4包里没有SwipeRefreshLayout ,直接下载下面的源码,在将包放入自己的工程当中
效果图:
  
 1 public class MyListFragment extends Fragment {
 2 
 3     private SwipeRefreshLayout swipeRefreshLayout;
 4     private ListView listView;
 5     private ArrayAdapter<String> adapter;
 6     private List<String> data;
 7 
 8     @Override
 9     public View onCreateView(LayoutInflater inflater, ViewGroup container,
10             Bundle savedInstanceState) {
11         View v = inflater.inflate(R.layout.fragment_pictext, container, false);
12         init(v);
13         return v;
14     }
15 
16     private void init(View v) {
17         listView = (ListView) v.findViewById(R.id.listView);
18         data = new ArrayList<String>();
19         for (int i = 0; i < 50; i++) {
20             data.add("我是测试item:" + i);
21         }
22         adapter = new ArrayAdapter<String>(getActivity(),
23                 android.R.layout.simple_list_item_1, data);
24         listView.setAdapter(adapter);
25 
26         // findview
27         swipeRefreshLayout = (SwipeRefreshLayout) v
28                 .findViewById(R.id.swipeRefreshLayout);
29         // 设置卷内的颜色
30         swipeRefreshLayout.setColorSchemeResources(
31                 android.R.color.holo_blue_bright,
32                 android.R.color.holo_green_light,
33                 android.R.color.holo_orange_light,
34                 android.R.color.holo_red_light);
35         // 设置下拉刷新监听
36         swipeRefreshLayout.setOnRefreshListener(new OnRefreshListener() {
37             @Override
38             public void onRefresh() {
39                 new Handler().postDelayed(new Runnable() {
40                     public void run() {
41                         data.add(0, "添加新的item" + new Random().nextInt());
42                         adapter.notifyDataSetChanged();
43                         // 停止刷新动画
44                         swipeRefreshLayout.setRefreshing(false);
45                     }
46                 }, 3000);
47             }
48         });
49 
50     }
51 }

**这段代码是引用别人的,注释很清楚了就不说了,这个API上要用的说的很清楚了
地址:https://github.com/hanks-zyh/SwipeRefreshLayout
posted @ 2015-08-05 17:22  perfect亮  阅读(527)  评论(0)    收藏  举报