真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

android的viewpager如何實(shí)現(xiàn)左右循環(huán)

在用到viewpager時(shí),發(fā)現(xiàn)這個(gè)viewpager在左右滑動(dòng)的時(shí)候,無(wú)法進(jìn)行循環(huán),在viewpager處于第一個(gè)或最后的一頁(yè)面時(shí),無(wú)法再次進(jìn)行滑動(dòng),只能逆向滑動(dòng)。但看其它很多優(yōu)秀的應(yīng)用,在viewpager處理時(shí),是可以進(jìn)行無(wú)限循環(huán)滑動(dòng),于是便研究了一下,發(fā)現(xiàn)其實(shí)這個(gè)效果是很容易做到的。

城關(guān)ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:13518219792(備注:SSL證書合作)期待與您的合作!

首先,在用到viewpager時(shí),對(duì)于PagerAdapter 我們肯定都很熟悉,這個(gè)類主要是處理viewpager中的view的加載和銷毀,一般我們都需要復(fù)寫四個(gè)方法,分別是:

getCount();

isViewFromObject(View arg0, Object arg1);

destroyItem(View container, int position, Object object);

Object instantiateItem(View container, int position);

第一個(gè)方法:getCount() 是為了獲得viewpager的view組中的個(gè)數(shù),方法:isViewFromObject是為了判斷要顯示的頁(yè)面是否為我們?cè)O(shè)置的view組中的view(個(gè)人理解),其它的兩個(gè)方法分別是用來(lái)銷毀和初始化view的。

使viewpager進(jìn)行循環(huán)滑動(dòng)的思路如下:首先我們肯定保定在getCount方法返回的數(shù)字為無(wú)限大,這樣它才可以知道group中有無(wú)限多個(gè),因此在設(shè)置getcount的時(shí)候,我返回的是固定的Integer.MAXVALUE。

其次,我們要保證這些個(gè)頁(yè)面是我們?cè)O(shè)置的固定的幾個(gè)頁(yè)面,所以我們?cè)诔跏蓟?yè)面及銷毀頁(yè)面時(shí),保證一直我們?cè)O(shè)置的這些個(gè)頁(yè)面,故此處就是用到的求余的算法,也就是%.

PagerAdapter VPagerAdapter = new PagerAdapter() {

@Override

public int getCount() {

return Integer.MAX_VALUE;

}

@Override

public boolean isViewFromObject(View arg0, Object arg1) {

int pos = (Integer)arg1 % count;

boolean f = arg0 == groupview.get(pos);

return f;

}

@Override

public void destroyItem(View container, int position, Object object) {

int pos = position % count;

View view = groupview.get(pos);

((ViewPager) container).removeView(view);

}

@Override

public Object instantiateItem(View container, int position) {

        int pos = position % viewlist.size();
        View view = viewlist.get(pos);
        ViewGroup parent = (ViewGroup) view.getParent();
        if (parent != null) {
            parent.removeView(view);
        }
        ((ViewPager) container).addView(view);
        return position;

}

};

主要代碼如上,count是我們的view組中view的個(gè)數(shù)。

附demo的下載地址:https://github.com/maliankun/viewpagertest/archive/master.zip


標(biāo)題名稱:android的viewpager如何實(shí)現(xiàn)左右循環(huán)
轉(zhuǎn)載來(lái)于:http://weahome.cn/article/gshcgi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部