天天看點

【Android進階】關于PagerAdapter的使用方法的總結

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);
		}
	}
           

實作了這四個方法,就可以實作滑動的效果了。

繼續閱讀