国人在用APP的时候总是会无意的下拉刷新下,在绝大部分的APP中都有这么一个功能,这个也许是微博的重度用户~~~~其实对于开发者来说,没刷新一次就相当于要重新load一次数据,是一件很耗流量事情!
今天和大家分享下拉刷新的功能,先看下效果图。
1.activity_mail:
这个很简单,就放了textview。
2.MainActivtiy.class:
<span style="font-size:18px;">public class MainActivity extends Activity {
private ScrollView mScrollView;
private PullToRefreshScrollView mPullScrollView;
private LinearLayout main;
private SimpleDateFormat mDateFormat = new SimpleDateFormat("MM-dd HH:mm");
private TextView mTv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
mPullScrollView = new PullToRefreshScrollView(this);
setContentView(mPullScrollView);
mScrollView = mPullScrollView.getRefreshableView();
mPullScrollView.setVerticalScrollBarEnabled(false);
mScrollView.setVerticalScrollBarEnabled(false);
mScrollView.addView(createView());
mPullScrollView.setOnRefreshListener(new OnRefreshListener<ScrollView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ScrollView> refreshView) {
setLastUpdateTime();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ScrollView> refreshView) {
}
});
setLastUpdateTime();
}
private ViewGroup createView() {
LayoutInflater inflater = getLayoutInflater();
main = (LinearLayout) inflater.inflate(R.layout.activity_main, null);
mTv=(TextView)main.findViewById(R.id.tv);
mTv.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View arg0) {
mPullScrollView.onPullDownRefreshComplete();
}
});
return main;
}
private void setLastUpdateTime() {
String text = formatDateTime(System.currentTimeMillis());
mPullScrollView.setLastUpdatedLabel(text);
}
private String formatDateTime(long time) {
if (0 == time) {
return "";
}
return mDateFormat.format(new Date(time));
}</span>
注:1.我在这边只是点击这个textview会 执行onPullDownRefreshComplete,这个方法就是消除刷新的,我这边 只是个示范。 一般这句话都是放在接口处的,如果成功了就调用这句话。
2.下拉的样式都是可以自己定义的,包括文字、图片、时间等等。篇幅有些就不一一列出,有需要的请自行下载
<span style="font-size:18px;"><span style="white-space:pre"> </span>demo下载地址:http://download.youkuaiyun.com/detail/u013651405/8949789</span>