这两天针对平时项目中所使用的刷新加载,以及侧滑菜单做了一个整理。在 PullToRefresh 框架中添加了 RecyclerView, 以及 使用 RecyclerView 所实现的 侧滑菜单。
下面先看一下效果图:
因为这里是基于 PullToRefresh 框架,所以我这里只是用一个 ListView 做代表( GridView , ScrollView , WebView 等等,用法基本都和 ListView 一样的), RecyclerView 和 SwipeRecyclerView 两个用法也有点类似,但是还是有点差异。
用法就从 ListView 开始介绍(PullToRefresh 框架的基本用法):
pull_listView = (PullToRefreshListView) findViewById(R.id.pull_listView);
adapter = new ListViewAdapter(list, this);
// 设置刷新加载模式: BOTH 下来刷新和上拉加载 , PULL_FROM_END 上拉加载 , PULL_FROM_START 下拉刷新 ,DISABLED ,禁止刷新和加载
pull_listView.setMode(PullToRefreshBase.Mode.BOTH);
pull_listView.setOnRefreshListener(new PullToRefreshBase.OnRefreshListener2<ListView>() {
@Override
public void onPullDownToRefresh(PullToRefreshBase<ListView> refreshView) {
// 下拉刷新监听
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(MainActivity.SLEEP_TIME);
runOnUiThread(new Runnable() {
@Override
public void run() {
list.clear();
DataModel.initData(list, "ListView");
adapter.notifyDataSetChanged();
Toast.makeText(PullListViewActivity.this, "刷新成功", Toast.LENGTH_SHORT).show();
pull_listView.onRefreshComplete();
}
});
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}).start();
}
@Override
public void onPullUpToRefresh(PullToRefreshBase<ListView> refreshView) {
// 上拉加载监听
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(MainActivity.SLEEP_TIME);
runOnUiThread(new Runnable() {
@Override
public void run() {
DataModel.initData(list, "ListView");
adapter.notifyDataSetChanged();
pull_listView.onRefreshComplete();
Toast.makeText(PullListViewActivity.this, "加载成功", Toast.LENGTH_SHORT).show();
}
});
} catch (InterruptedException e) {