RecyclerView和ListView區別

RecyclerView:

1、規範了ViewHolder,內部實現了緩存機制;
2、實現多種效果,橫向/縱向,線性/網格/瀑布流;
3、不能設置EmptyView;
4、不能設置HeaderView和FooterView;
5、可以局部刷新
6、自帶動畫,可以自定義,繼承ItemAnimator;
7、沒有item事件,需要自己定義;
8、實現了NestedScrollingChild,可以實現嵌套滾動,例如配合CollapsingToolbarLayout使用;

ListView:

1、需要自定義ViewHolder,convertView複用;
2、功能單一,原生縱向,橫向自己處理;
3、可以設置EmptyView;
4、可以設置HeaderView和FooterView;
5、不能局部刷新;
6、沒有動畫效果,需要的話要自己添加;
7、item有點擊、長按、選中事件監聽;
8、繼承AbsListView,沒有實現NestedScrolling之類的接口,無法嵌套滾動;

先列舉這麼多,歡迎補充,後續補更。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章