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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM