天天看點

android 5.0新特性學習--RecyclerView

在過去很多年,我們的PC或者手機裝置都是采用拟物化的設計風格,IOS采用扁平化的特性,android在2014年IO大會上說采用Material Design的設計風格,顯示效果不能過于生硬的轉換,而是平滑,過度的切換方式,避免線性的動畫效果,而是代替以曲線的效果進行展示,并且所有的圖示的動畫切換都應該無縫化切換。

 如果想深入了解材料設計即(material Design)的設計:

可以參看如下網址:http://design.1sters.com,尤其是android 應用的UED設計師們,可以看下:

開發中要在libs檔案夾下面中加上android_support_v4.jar包

java.lang.Object

  android.view.View

    android.view.ViewGroup

      android.support.v7.widget.RecyclerView

官網位址:https://developer.android.com/reference/android/support/v7/widget/RecyclerView.html

RecyclerView 一個特點就是,将 layout 抽象成了一個 LayoutManager,RecylerView 不負責子 View 的布局, 我們可以自定義 LayoutManager 來實作不同的布局效果, 目前隻提供了LinearLayoutManager。 LinearLayoutManager 可以指定方向,預設是垂直, 可以指定水準, 這樣就輕松實作了水準的 ListView。

除了LinearLayoutManager還有其他兩種布局管理器:

GridLayoutManager 網格的item

StaggeredGridLayoutManager 交錯的網格item

當然也可以通過內建ResyclerView,layoutManager類來自定義自己的布局管理器。

RecyclerView的使用過程中會使用到一個Adapter:RecyclerView.Adapter,裡面屏蔽了以前寫BaseAdapter的中好多重讀的代碼的編寫,将加載item布局放在onCreateViewHolder(ViewGroup viewGroup, int i)方法中,在onBindViewHolder(ViewHolder viewHolder, int i)中資料加載到item中。用于優化的viewHolder也是繼承自RecyclerView.ViewHolder。

RecyclerView不提供setOnItemClickListener方法,你可以在ViewHolder中添加事件。

RecyclerView之間的分割線:

http://my.oschina.net/xesam/blog/351408

官網位址:https://developer.android.com/reference/android/support/v7/widget/RecyclerView.Adapter.html

關于使用可以參考:

http://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2014/0710/1631.html

http://blog.csdn.net/cym492224103/article/details/41719497

編寫demo:

android 5.0新特性學習--RecyclerView

布局檔案:

HomeAdapter.java

效果:

android 5.0新特性學習--RecyclerView

繼續閱讀