Android 學習筆記(十一):ListView和RecycleView的學習

ListView

ListView是一個列表控件,需要搭配Adapter使用。通過自定義一個Adapter,繼承自BaseAdapter,然後在adapter中完成數據的綁定,最後通過ListVIew.setAdapter()方法將listViewadapter綁定起來。
ListView可以添加表頭和表尾,

  • addHeaderView(View v):添加headView(表頭),括號中的參數是一個View對象
  • addFooterView(View v):添加footerView(表尾),括號中的參數是一個View對象
  • addHeaderView(headView, null, false):和前面的區別:設置Header是否可以被選中
  • addFooterView(View,view,false):同上

設置ListView

ListView設置只需要一個屬性,就是適配器Adapter。適配器中通過getview()方法獲取每一行需要的item

RecyclerView

RecyclerViewAndroid5.0之後谷歌推出的一個新控件,用來代替ListView,更加靈活和強大。使用RecyclerView的時候必須制定一個適配器Adapter和一個佈局管理器LayoutManager。適配器繼承自RecyclerView.Adapter類,具體實現類似於ListView的適配器。佈局管理器用於確定RecyclerViewItem的展示方式以及決定何時複用已經不可見的Item,避免重複創建以及執行高成本的findViewById()方法。

設置RecyclerView

RecyclerView可以設置四個屬性

  • LayoutManager(佈局管理器,必選)
  • Adapter(適配器,必選)
  • ItemDecoration(每個Item之間的間隙,默認爲空,非必選)
  • ItemAnimator(添加刪除Item的動畫,默認WeirDefaultItemAnimator,非必選)

三種佈局管理器

RecyclerView能夠實現各種各樣的佈局效果,核心在於LayoutManager,除了這三種以外,如果想實現自定義效果,可以自定義佈局管理器,繼承自LayoutManager,實現相應的方法。

  • LinerLayoutManager 以垂直或者水平列表方式展示Item

  • GridLayoutManager 以網格方式展示Item

  • StaggeredGridLayoutManager 以瀑布流方式展示Item

總結

  1. 在一些場景下,ListView和RecyclerView的效果沒有太大區別,兩者都能很好的工作。
  2. ListView比RecyclerView實現要簡單一些,ListView比較簡單和快捷,RecyclerView暴露了更多的接口,所以更加的完善和強大靈活。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章