PagerAdapter簡介
PagerAdapter是android.support.v4包中的類,它的子類有FragmentPagerAdapter, FragmentStatePagerAdapter,這兩個adapter都是Fragment的擴充卡,用于實作Fragment的滑動效果,這兩個adapter的使用和差別這次就先不介紹了,等下次有時間再做詳細的介紹。
PagerAdapter主要是viewpager的擴充卡,而viewPager則也是在android.support.v4擴充包中新添加的一個強大的控件,可以實作控件的滑動效果,比如咱們在軟體中常見的廣告欄的滑動效果,用viewPager就可以實作。今天主要介紹如何使用viewPagr并重寫PagerAdapter實作常見廣告欄的滑動效果。
PagerAdapter用法簡介
首先,如果繼承pageradapter,至少必須重寫下面的四個方法 1 instantiateItem(ViewGroup, int)
2. destroyItem(ViewGroup, int, Object)
3. getCount()
4. isViewFromObject(View, Object)
下面我們以代碼的形式,說明這四個方法的含義以及如何使用
private class ViewPagerAdapter extends PagerAdapter {
// 擷取要滑動的控件的數量,在這裡我們以滑動的廣告欄為例,那麼這裡就應該是展示的廣告圖檔的ImageView數量
@Override
public int getCount() {
return images.size();
}
// 來判斷顯示的是否是同一張圖檔,這裡我們将兩個參數相比較傳回即可
@Override
public boolean isViewFromObject(View arg0, Object arg1) {
return arg0 == arg1;
}
// PagerAdapter隻緩存三張要顯示的圖檔,如果滑動的圖檔超出了緩存的範圍,就會調用這個方法,将圖檔銷毀
@Override
public void destroyItem(ViewGroup view, int position, Object object) {
view.removeView(images.get(position));
}
// 當要顯示的圖檔可以進行緩存的時候,會調用這個方法進行顯示圖檔的初始化,我們将要顯示的ImageView加入到ViewGroup中,然後作為傳回值傳回即可
@Override
public Object instantiateItem(ViewGroup view, int position) {
view.addView(images.get(position));
return images.get(position);
}
}
實作了這四個方法,就可以實作滑動的效果了。