API doc:
Google在support v4 19.1版本推出了一个下拉刷新组件SwipeRefreshLayout,使用起来方便,效果优美,但要注意的是其布局中只能有一个直接子布局。使用步骤如下:
1.在xml中,加载android.support.v4.widget.SwipeRefreshLayout
2.使用
package com.example.testswiperefreshlayout;import android.os.Bundle;import android.os.Handler;import android.annotation.SuppressLint;import android.app.Activity;import android.support.v4.widget.SwipeRefreshLayout;import android.support.v4.widget.SwipeRefreshLayout.OnRefreshListener;import android.view.Menu;import android.view.View;import android.view.ViewGroup;import android.widget.BaseAdapter;import android.widget.ListView;import android.widget.TextView;public class MainActivity extends Activity implements OnRefreshListener { private SwipeRefreshLayout mSwipeRefreshLayout; private ListView mList; @SuppressLint("InlinedApi") @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); mList = (ListView) findViewById(R.id.list); mSwipeRefreshLayout = (SwipeRefreshLayout) findViewById(R.id.layout_containter); mSwipeRefreshLayout.setColorSchemeResources(android.R.color.holo_blue_light, android.R.color.holo_green_light, android.R.color.holo_orange_light, android.R.color.holo_red_light); mSwipeRefreshLayout.setOnRefreshListener(this); } @Override public void onRefresh() { new Handler().postDelayed(new Runnable() { @Override public void run() { mSwipeRefreshLayout.setRefreshing(false); mList.setAdapter(new MyAdapter()); } }, 5000); } class MyAdapter extends BaseAdapter { @Override public int getCount() { return 10; } @Override public Object getItem(int position) { // TODO Auto-generated method stub return null; } @Override public long getItemId(int position) { // TODO Auto-generated method stub return 0; } @Override public View getView(int position, View convertView, ViewGroup parent) { View inflate = null; TextView tvItem = null; if (convertView == null) { inflate = getLayoutInflater().inflate(R.layout.listview_item, null); tvItem = (TextView) inflate.findViewById(R.id.tv_item); inflate.setTag(tvItem); } else { inflate = convertView; tvItem = (TextView) inflate.getTag(); } tvItem.setText("下拉刷新item"+position); return inflate; } }}
×××地址: