Android SwipeRefreshLayout官方下拉刷新控件介绍(与知乎Android客户端下拉刷新一样!!)

来源:互联网 发布:st单片机仿真器 编辑:程序博客网 时间:2024/06/05 16:36

转载出处:http://blog.csdn.net/lmj623565791/article/details/24521483

//没少看鸿洋老师的视频,一如既往,鸿洋老师讲解的浅显易懂!

下面App基本都有下拉刷新的功能,以前基本都使用XListView或者自己写一个下拉刷新,近期Google提供了一个官方的下拉刷新控件SwipeRefreshLayout,我感觉还不错啊,见惯了传统的下拉刷新,这个反而给人耳目一新的感觉(貌似知乎的APP已经使用这种下拉刷新了)。

Google也在官方网站给出了V4的兼容包:


顺便看一眼API呗:


和XlistView差不多,还是很方便使用的,大概就这4个常用的方法,下面贴个简单的例子。

1、布局文件:

[html] view plaincopy在CODE上查看代码片派生到我的代码片
  1. <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"  
  2.     android:layout_width="match_parent"  
  3.     android:layout_height="match_parent" >  
  4.   
  5.     <android.support.v4.widget.SwipeRefreshLayout  
  6.         android:id="@+id/id_swipe_ly"  
  7.         android:layout_width="match_parent"  
  8.         android:layout_height="match_parent" >  
  9.   
  10.         <ListView  
  11.             android:id="@+id/id_listview"  
  12.             android:layout_width="match_parent"  
  13.             android:layout_height="match_parent" >  
  14.         </ListView>  
  15.     </android.support.v4.widget.SwipeRefreshLayout>  
  16.   
  17. </RelativeLayout>  


题主用的AndroidStudio 1.5,果然和知乎一样酷啊!!

2、MainActivty:

package com.example.ollydebug.swiperefreshlayoutpractice;import android.annotation.SuppressLint;import android.app.Activity;import android.os.Bundle;import android.os.Handler;import android.os.Message;import android.support.v4.widget.SwipeRefreshLayout;import android.widget.ArrayAdapter;import android.widget.ListView;import java.util.ArrayList;import java.util.Arrays;import java.util.List;public class MainActivity extends Activity implements SwipeRefreshLayout.OnRefreshListener {    private static final int REFRESH_COMPLETE = 0X110;    private SwipeRefreshLayout mrefreshLayout;    private ListView mlistView;    private ArrayAdapter<String>mAdapter;    private List<String> mDatas = new ArrayList<String>(Arrays.asList("Java","PHP","Swift","JavaScript","C++","C#"));    private Handler mHandler = new Handler(){        @Override        public void handleMessage(Message msg) {            switch (msg.what){                case REFRESH_COMPLETE:                    mDatas.addAll(Arrays.asList("Mysql", "Ajax", "知乎", "掟上今日子的备忘录"));                    mAdapter.notifyDataSetChanged();                    mrefreshLayout.setRefreshing(false);                    break;            }        }    };    @SuppressLint("InlinedApi")    protected void onCreate(Bundle savedInstanceState) {        super.onCreate(savedInstanceState);        setContentView(R.layout.activity_main);        mlistView = (ListView)findViewById(R.id.ListView);        mrefreshLayout = (SwipeRefreshLayout)findViewById(R.id.id_swipe_ly);        mrefreshLayout.setOnRefreshListener(this);        mrefreshLayout.setColorSchemeColors(                getResources().getColor(android.R.color.holo_blue_bright),                getResources().getColor(android.R.color.holo_green_light),                getResources().getColor(android.R.color.holo_orange_light),                getResources().getColor(android.R.color.holo_red_light));        mAdapter = new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1, mDatas);        mlistView.setAdapter(mAdapter);    }    @Override    public void onRefresh() {        mHandler.sendEmptyMessageAtTime(REFRESH_COMPLETE,1000);    }}

好了,结束,我感觉效果挺好看的,不妨试试。

效果图:




ok ~


但是博主我的是~~(果然和知乎一样!哈哈)





0 0
原创粉丝点击