RecyclerView Activity

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);

    }

}


猜你喜欢

转载自blog.csdn.net/zzf0521/article/details/80876721