您好,登錄后才能下訂單哦!
一句話不割。
源代碼:
adpater = new MyPagerAdapter(getSupportFragmentManager());
viewpager = (ViewPager) findViewById(R.id.pager);
viewpager.setAdapter(adpater);
indicator = (LoopCirclePageIndicator) findViewById(R.id.yIndicator1);
indicator.setViewPager(viewpager,Config.Image_Flip_Start * size);
如果發(fā)生跳動(dòng)行為,那是因?yàn)椋篿ndicator.setViewPager(viewpager,Config.Image_Flip_Start * size),因?yàn)橐獰o(wú)限循環(huán)(假循環(huán),其實(shí)可滑到底),所以后面那個(gè)參數(shù)是設(shè)置viewpager的當(dāng)前頁(yè),讓其顯示當(dāng)前頁(yè)為幾百頁(yè),進(jìn)入indicator類里面找到該方法
代碼:
@Override
public void setViewPager(ViewPager view, int initialPosition) {
setViewPager(view);
setCurrentItem(initialPosition);
}
setCurrentItem(initialPosition)里面有個(gè)mViewPager.setCurrentItem(item);,這里設(shè)置mViewPager的當(dāng)前頁(yè),默認(rèn)有滑動(dòng)效果,將其改為:mViewPager.setCurrentItem(item,false)即可,這樣viewpager沒有滑動(dòng)效果,indicator也就沒有跳動(dòng)情況發(fā)生了;
代碼:
@Override
public void setCurrentItem(int item) {
if (mViewPager == null) {
throw new IllegalStateException("ViewPager has not been bound.");
}
mViewPager.setCurrentItem(item);
mCurrentPage = item;
invalidate();
}
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。