您好,登錄后才能下訂單哦!
一句話不割。
源代碼:
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);
如果發生跳動行為,那是因為:indicator.setViewPager(viewpager,Config.Image_Flip_Start * size),因為要無限循環(假循環,其實可滑到底),所以后面那個參數是設置viewpager的當前頁,讓其顯示當前頁為幾百頁,進入indicator類里面找到該方法
代碼:
@Override
public void setViewPager(ViewPager view, int initialPosition) {
setViewPager(view);
setCurrentItem(initialPosition);
}
setCurrentItem(initialPosition)里面有個mViewPager.setCurrentItem(item);,這里設置mViewPager的當前頁,默認有滑動效果,將其改為:mViewPager.setCurrentItem(item,false)即可,這樣viewpager沒有滑動效果,indicator也就沒有跳動情況發生了;
代碼:
@Override
public void setCurrentItem(int item) {
if (mViewPager == null) {
throw new IllegalStateException("ViewPager has not been bound.");
}
mViewPager.setCurrentItem(item);
mCurrentPage = item;
invalidate();
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。