导入依赖包: compile 'com.jcodecraeer:xrecyclerview:1.3.2'
XML:
<com.jcodecraeer.xrecyclerview.XRecyclerView
android:id="@+id/xrclv"
android:layout_width="match_parent"
android:layout_height="match_parent">
</com.jcodecraeer.xrecyclerview.XRecyclerView>
Activity:
package com.example.xrecyclerview;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.LinearLayoutManager;
import android.view.View;
import android.widget.Toast;
import com.jcodecraeer.xrecyclerview.ProgressStyle;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private XRecyclerView recyclerView;
private ArrayList<String> list;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initData();
initView();
}
private void initData() {
list = new ArrayList<>();
for (int i = 0; i < 30; i++) {
list.add("耿世聪" + i);
}
}
//初始化组件
private void initView() {
recyclerView = (XRecyclerView) this.findViewById(R.id.xrclv);
LinearLayoutManager layoutManager = new LinearLayoutManager(this);
layoutManager.setOrientation(LinearLayoutManager.VERTICAL);
recyclerView.setLayoutManager(layoutManager);
MyXAdapter adapter = new MyXAdapter(list, this);
recyclerView.setAdapter(adapter);
//加载头布局
View inflate = View.inflate(MainActivity.this, R.layout.itemhead, null);
//recyclerView.addHeaderView(inflate);
//禁止下拉
// recyclerView.setPullRefreshEnabled(false);
//禁止加载
// recyclerView.setLoadingMoreEnabled(false);
//设置下拉图标
recyclerView.setArrowImageView(R.mipmap.ic_launcher_round);
//设置刷新图标
recyclerView.setRefreshProgressStyle(ProgressStyle.LineScalePulseOutRapid);
//设置加载更多图标
recyclerView.setLoadingMoreProgressStyle(ProgressStyle.LineScalePulseOut);
//上拉下拉触发监听
recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() {
//下拉
@Override
public void onRefresh() {
Toast.makeText(MainActivity.this, "刷新", Toast.LENGTH_SHORT).show();
recyclerView.refreshComplete();
}
//加载
@Override
public void onLoadMore() {
Toast.makeText(MainActivity.this, "加载", Toast.LENGTH_SHORT).show();
// recyclerView.loadMoreComplete(); compile 'com.jcodecraeer:xrecyclerview:1.3.2'
}
});
//recyclerView.refresh();
}
}
Adapter:
package com.example.xrecyclerview;
import android.content.Context;
import android.view.View;
import android.view.ViewGroup;
import android.widget.TextView;
import com.jcodecraeer.xrecyclerview.XRecyclerView;
import java.util.ArrayList;
/**
* author:Created by WangZhiQiang on 2017/12/8.
*/
public class MyXAdapter extends XRecyclerView.Adapter<MyXAdapter.MVH> {
private ArrayList<String> list;
private Context context;
public MyXAdapter(ArrayList<String> list, Context context) {
this.list = list;
this.context = context;
}
@Override
public MVH onCreateViewHolder(ViewGroup parent, int viewType) {
View view = View.inflate(context, R.layout.item, null);
MVH mvh = new MVH(view);
return mvh;
}
@Override
public void onBindViewHolder(MVH holder, int position) {
holder.textView.setText(list.get(position));
}
@Override
public int getItemCount() {
return list.size();
}
class MVH extends XRecyclerView.ViewHolder {
TextView textView;
public MVH(View itemView) {
super(itemView);
textView = (TextView) itemView.findViewById(R.id.textss);
}
}
}
package com.example.xrecyclerview; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.support.v7.widget.LinearLayoutManager; import android.view.View; import android.widget.Toast; import com.jcodecraeer.xrecyclerview.ProgressStyle; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; public class MainActivity extends AppCompatActivity { private XRecyclerView recyclerView; private ArrayList<String> list; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initData(); initView(); } private void initData() { list = new ArrayList<>(); for (int i = 0; i < 30; i++) { list.add("耿世聪" + i); } } //初始化组件 private void initView() { recyclerView = (XRecyclerView) this.findViewById(R.id.xrclv); LinearLayoutManager layoutManager = new LinearLayoutManager(this); layoutManager.setOrientation(LinearLayoutManager.VERTICAL); recyclerView.setLayoutManager(layoutManager); MyXAdapter adapter = new MyXAdapter(list, this); recyclerView.setAdapter(adapter); //加载头布局 View inflate = View.inflate(MainActivity.this, R.layout.itemhead, null); //recyclerView.addHeaderView(inflate); //禁止下拉 // recyclerView.setPullRefreshEnabled(false); //禁止加载 // recyclerView.setLoadingMoreEnabled(false); //设置下拉图标 recyclerView.setArrowImageView(R.mipmap.ic_launcher_round); //设置刷新图标 recyclerView.setRefreshProgressStyle(ProgressStyle.LineScalePulseOutRapid); //设置加载更多图标 recyclerView.setLoadingMoreProgressStyle(ProgressStyle.LineScalePulseOut); //上拉下拉触发监听 recyclerView.setLoadingListener(new XRecyclerView.LoadingListener() { //下拉 @Override public void onRefresh() { Toast.makeText(MainActivity.this, "刷新", Toast.LENGTH_SHORT).show(); recyclerView.refreshComplete(); } //加载 @Override public void onLoadMore() { Toast.makeText(MainActivity.this, "加载", Toast.LENGTH_SHORT).show(); // recyclerView.loadMoreComplete(); compile 'com.jcodecraeer:xrecyclerview:1.3.2' } }); //recyclerView.refresh(); } }
Adapter:
package com.example.xrecyclerview; import android.content.Context; import android.view.View; import android.view.ViewGroup; import android.widget.TextView; import com.jcodecraeer.xrecyclerview.XRecyclerView; import java.util.ArrayList; /** * author:Created by WangZhiQiang on 2017/12/8. */ public class MyXAdapter extends XRecyclerView.Adapter<MyXAdapter.MVH> { private ArrayList<String> list; private Context context; public MyXAdapter(ArrayList<String> list, Context context) { this.list = list; this.context = context; } @Override public MVH onCreateViewHolder(ViewGroup parent, int viewType) { View view = View.inflate(context, R.layout.item, null); MVH mvh = new MVH(view); return mvh; } @Override public void onBindViewHolder(MVH holder, int position) { holder.textView.setText(list.get(position)); } @Override public int getItemCount() { return list.size(); } class MVH extends XRecyclerView.ViewHolder { TextView textView; public MVH(View itemView) { super(itemView); textView = (TextView) itemView.findViewById(R.id.textss); } } }