public class MainActivity extends AppCompatActivity {
List<String> list = new ArrayList<>();
private RecyclerView recyClerView;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
recyClerView = findViewById(R.id.main_recycler);
for (int i = 0; i < 20; i++) {
list.add("item " + i);
}
final MyAdapter myAdapter = new MyAdapter(list);
//1.类似listview条目的形式
LinearLayoutManager linearLayoutManager = new LinearLayoutManager(this);
recyClerView.setLayoutManager(linearLayoutManager);
//设置item线性摆放的方向,默认是垂直的
// linearLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
//2.类似gridView的形式
// GridLayoutManager gridLayoutManager = new GridLayoutManager(this, 3);
// gridLayoutManager.setOrientation(LinearLayoutManager.HORIZONTAL);
// recyClerView.setLayoutManager(gridLayoutManager);
//3.瀑布流的形式
// StaggeredGridLayoutManager staggeredGridLayoutManager = new StaggeredGridLayoutManager(2,StaggeredGridLayoutManager.VERTICAL);
// recyClerView.setLayoutManager(staggeredGridLayoutManager);
myAdapter.setOnItemClickListener(new MyAdapter.OnItemClickListener() {
@Override
public void onItemClick(View view, int position) {
list.remove(position);
// 这个方法没有动画效果,而且整个刷新
myAdapter.notifyDataSetChanged();
// //我们用带动画的局部刷新的方法
// myAdapter.notifyItemRemoved(position);
}
});
recyClerView.setAdapter(myAdapter);
//设置默认的动画
recyClerView.setItemAnimator(new DefaultItemAnimator());
//添加分割线
DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(this, DividerItemDecoration.VERTICAL);
//设置分割线的颜色
dividerItemDecoration.setDrawable(getResources().getDrawable(R.drawable.item_decoration));
recyClerView.addItemDecoration(dividerItemDecoration);
}
}