1 引導頁本質上是放在一個activity當中是以第一步是建立自己的activity 來承載我們的viewpager
public class WelcomeGuide extends Activity
2 自定義ViewPagerAdapter 類似于listview viewPager也需要由adapter提供内容 隻是這裡的adapter是pageAdapter
public class MyViewPagerAdapter extends PageAdapter
2.1 擷取要呈現的資料也就是資料層的定義 最常見的便是一個view故而可以定義一個 List<view> views的集合存放要顯示的view
2.2 有了資料結構之後就要決定資料結構如何呈現了 實作如下方法即可:
public Object instantiateItem (ViewGroup container, int position)
在指定的位置建立頁面;擴充卡負責添加view到這個容器中,然而它隻保證在finishUpdate(ViewGroup)傳回時才完成。
public void destroyItem (ViewGroup container, int position, Object object)
删除指定位置的頁面;擴充卡負責從view容器中删除view,然而它隻保證在finishUpdate(ViewGroup)傳回時才完成。
public abstract int getCount ()
傳回可用的view的數量。
public abstract boolean isViewFromObject (View view, Object object)
判斷頁面是否跟指定的key對象關聯,key對象由instantiateItem(ViewGroup, int)傳回。
3 最後在activity布局當中加入viewPager的XMl定義 setContentView布局 填充資料層views資料 完成空間的代碼應用 初始化viewPagerAdapter 最後給viewPager設定次Adapter即可完成。
總結:回頭來看一個空間如果能夠實作從其他地方拿到資料并展示出來那麼這個控件就會對應一個adapter,這類空間的實作方法都是一緻的
1 自定義相應的adapter,實作構造函數,重寫重要的方法(擷取某個位置上的View,銷毀某個位置的上View,資料層總共的資料大小等)
2 在XML中定義相應的控件并在代碼中飲用
3 填充資料層資料,并用其執行個體化adapter
4 将執行個體化的adapter綁定到相應的控件中
一點點思考:是以其實要做一個開發首先應該不拘泥于細節,而因把握這個功能總體上是怎麼實作的 實作的基本原理,而不應該糾結于一兩個參數,這樣才能提高自己的思考問題的能力,不做一個頑固的碼農,我認為一個人一定要會思考和總結。