1.设置动画颜色:swipeRefreshLayout.setColorSchemeColors(colors);//可变长参数
2.下拉刷新事件监听:swipeRefreshLayout.setRefreshListener(refreshListener);
3.停止刷新:swipeRefreshLayout.setRefreshing(false);
4.使用时,SwipeRefreshLayout作为父容器将ListView包裹起来
<android.support.v4.widget.SwipeRefreshLayout android:id="@+id/swipe_refresh_layout" android:layout_width="match_parent" android:layout_height="match_parent"> <ListView android:id="@+id/lv" android:layout_width="match_parent" android:layout_height="match_parent"></ListView> </android.support.v4.widget.SwipeRefreshLayout>
public class MainActivity extends AppCompatActivity { private List<String> list; private SwipeRefreshLayout refreshLayout; private Handler mHandler = new Handler() { @Override public void handleMessage(Message msg) { //刷新完成,取消刷新动画 refreshLayout.setRefreshing(false); adapter.notifyDataSetChanged(); } }; private ArrayAdapter<String> adapter; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); ListView listView = (ListView) findViewById(R.id.lv); refreshLayout = (SwipeRefreshLayout) findViewById(R.id.swipe_refresh_layout); refreshLayout.setColorSchemeColors(Color.RED, Color.GREEN, Color.BLUE); //设置下拉刷新监听 refreshLayout.setOnRefreshListener(new SwipeRefreshLayout.OnRefreshListener() { @Override public void onRefresh() { new Thread(new Runnable() { @Override public void run() { SystemClock.sleep(3000); list.add(0, "李四"); mHandler.sendEmptyMessage(0); } }).start(); } }); adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, list); listView.setAdapter(adapter); } private void initData() { list = new ArrayList<>(); for (int i = 0; i < 30; i++) { list.add("张三:" + i); } } }