package com.example.Anmation;
import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.DefaultItemAnimator;
import android.support.v7.widget.RecyclerView;
import android.support.v7.widget.StaggeredGridLayoutManager;
import com.example.day12rikao.R;
public class RecycleStaggeredActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.stag);
initData();
}
private void initData() {
RecyclerView recyclerView =findViewById(R.id.stagg);
StaggeredGridLayoutManager manager = new StaggeredGridLayoutManager(3,StaggeredGridLayoutManager.VERTICAL);
//设置布局管理器
recyclerView.setLayoutManager(manager);
StaggeredAdapter adapter = new StaggeredAdapter(this);
int[] ints = new int[]{
R.drawable.timg1,R.drawable.timg,R.drawable.timg3
};
for(int i=0;i<30;i++)
{
User user = new User();
user.setName("赵军辉"+i);
user.setAvatar(ints[i%ints.length]);
adapter.addItem(user);
}
recyclerView.setAdapter(adapter);
//设置分隔线
DividerGridItemDecoration dividerGridItemDecoration = new DividerGridItemDecoration(this);
recyclerView.addItemDecoration(dividerGridItemDecoration);
//设置增加或删除条目的动画
recyclerView.setItemAnimator(new DefaultItemAnimator());
}
}
适配器的写法package com.example.Anmation;
import android.content.Context;
import android.support.annotation.NonNull;
import android.support.v7.widget.RecyclerView;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ImageView;
import android.widget.TextView;
import com.bumptech.glide.Glide;
import com.example.day12rikao.R;
import java.util.ArrayList;
import java.util.List;
public class StaggeredAdapter extends RecyclerView.Adapter<StaggeredAdapter.VierHolder> {
private Context mContext;
private List<User> mlist;
public StaggeredAdapter(Context context){
this.mContext = context;
mlist = new ArrayList<>();
}
public void addItem(User user){
if(user!=null)
{
mlist.add(user);
}
}
@NonNull
@Override
public StaggeredAdapter.VierHolder onCreateViewHolder(@NonNull ViewGroup viewGroup, int i) {
View view = LayoutInflater.from(viewGroup.getContext()).inflate(R.layout.stag_item,viewGroup,false);
return new VierHolder(view);
}
@Override
public void onBindViewHolder(@NonNull StaggeredAdapter.VierHolder vierHolder, int i) {
User user = mlist.get(i);
vierHolder.title.setText(user.getName());
Glide.with(mContext).load(user.getAvatar()).into(vierHolder.image);
}
@Override
public int getItemCount() {
return mlist.size();
}
static class VierHolder extends RecyclerView.ViewHolder{
public ImageView image;
public TextView title;
public VierHolder(@NonNull View itemView) {
super(itemView);
image = itemView.findViewById(R.id.stag_image);
title = itemView.findViewById(R.id.stag_title);
}
}
}