public class MainActivity extends BaseActivity implements OnRefreshListener,OnLoadListener{
private ImageView img;
private EditText et;
private Button bt;
//RecyclerView
private RecyclerView rc;
private List<Person> list_rc;
private Adapter_rc adapter_rc;
//刷新加载
private RefreshScrollviewLayout rScrollviewLayout;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
setRC();
}
private void setRC() {
list_rc=new ArrayList<Person>();
for(int i=0;i<99;i++){
Person p=new Person();
p.setName("股价拉屎"+i);
p.setAge(i*i);
list_rc.add(p);
}
adapter_rc=new Adapter_rc(list_rc,this);
StaggeredGridLayoutManager lManager=new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL );
rc.setLayoutManager(lManager);
rc.setAdapter(adapter_rc);
}
@Override
public void initView() {
rc=(RecyclerView)findViewById(R.id.rc);
}
@Override
public void initTitle() {
}
@Override
public void onClick(View arg0) {
switch (arg0.getId()) {
default:
break;
}
}
@Override
protected void onDestroy() {
super.onDestroy();
EventBus.getDefault().unregister(this);
}
@Override
public void onLoad() {
}
@Override
public void onRefresh() {
}
/**
* recyclerview 实现瀑布流
* @author shiheng
*
*/
public class SpacesItemDecoration extends RecyclerView.ItemDecoration {
private int space;
public SpacesItemDecoration(int space) {
this.space=space;
}
@Override
public void getItemOffsets(Rect outRect, View view, RecyclerView parent, RecyclerView.State state) {
// outRect.left=space;
// outRect.right=space;
// outRect.bottom=space;
if(parent.getChildPosition(view)==0){
outRect.top=space;
}
}
}
}
**适配器**
public class Adapter_rc extends RecyclerView.Adapter<MyHolder>{
private List<Person> list;
private Context context;
public Adapter_rc(List<Person> list,Context context) {
this.list=list;
this.context=context;
}
@Override
public int getItemCount() {
return 30;
}
@Override
public void onBindViewHolder(final MyHolder holder, final int arg1) {
holder.img.setImageResource(R.drawable.dog);
ViewGroup.LayoutParams params = holder.layout.getLayoutParams();//得到item的LayoutParams布局参数
int height=(int)((200+Math.random()*400));
params.height=height;
int width=(int)((200+Math.random()*400));
params.width=width;
holder.layout.setLayoutParams(params);
}
@Override
public MyHolder onCreateViewHolder(ViewGroup arg0, int viewType) {
MyHolder holder=null;
View view=LayoutInflater.from(context).inflate(R.layout.item_rc, arg0, false);
holder=new MyHolder(view,0);
return holder;
}
}
class MyHolder extends RecyclerView.ViewHolder {
public LinearLayout layout;
public TextView tvName;
public TextView tvAge;
public ImageView img;
public MyHolder(View arg0,int viewType) {
super(arg0);
img=(ImageView)arg0.findViewById(R.id.img);
layout=(LinearLayout)arg0.findViewById(R.id.layout);
}
}
item布局
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:background="@drawable/back" >
<LinearLayout
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical">
<ImageView
android:id="@+id/img"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:scaleType="fitXY"
/>
</LinearLayout>
</LinearLayout>