A NiceViewPager(下)

上一篇 A NiceViewPager(上) 中存在的問題就是首尾兩頁跳轉(zhuǎn)的時候由于沒有平滑過渡朗徊,會覺得很突兀,這次使用在ViewPager中設(shè)置count個數(shù)為Integer.MAX_VALUE,在instantiateItem中對position取余來實現(xiàn)無限循環(huán),初始化的時候讓其顯示在count的中間,那樣用戶想要劃到邊界應(yīng)該很是困難了恨憎,這樣也解決了過度突兀的問題,看下效果圖吧郊楣,如果對滑動特效還不熟悉的話那就到上一篇中去看看吧憔恳。

NiceViewPagerV2

下面給出相關(guān)修改代碼:

// 使其顯示在中間
vp.setCurrentItem(len * ((Integer.MAX_VALUE >> 1) / len));

@Override
public int getCount() {
    return Integer.MAX_VALUE;
}

@Override
public Object instantiateItem(ViewGroup container, int position) {
    Log.d("cmj", "pos: " + position);
    position %= len;
    View view = mViews.get(position);
    // 不加這個的話會由于緩存造成帶有ViewGroup的view新增到container中報錯
    ViewParent parent = view.getParent();
    if (parent != null) {
        ViewGroup vg = (ViewGroup) parent;
        vg.removeView(view);
    }
    container.addView(view);
    return view;
}

這次新加了下標(biāo)滾動指示器,其相關(guān)代碼也很簡單净蚤,如下:

// 指示器
LinearLayout.LayoutParams params = new LinearLayout.LayoutParams(dp2px(this, 16), dp2px(this, 16));
params.rightMargin = dp2px(this, 16);
for (int i = 0; i < len; i++) {
    ImageView imageViewDot = new ImageView(this);
    imageViewDot.setLayoutParams(params);
    //  設(shè)置小圓點的背景為暗紅圖片
    imageViewDot.setBackgroundResource(R.drawable.red_dot_night);
    ll.addView(imageViewDot);
    mDotViews.add(imageViewDot);
}
mDotViews.get(prePos).setBackgroundResource(R.drawable.red_dot);

@Override
public void onPageSelected(int position) {
    Log.d("cmj", "onPageSelectedPos: " + position);
    mDotViews.get(prePos).setBackgroundResource(R.drawable.red_dot_night);
    prePos = position % len;
    mDotViews.get(prePos).setBackgroundResource(R.drawable.red_dot);
}

源碼已上傳github钥组,獻出鏈接NiceViewPager,喜歡記得star哦今瀑。滴程梦,下車卡~

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市橘荠,隨后出現(xiàn)的幾起案子屿附,更是在濱河造成了極大的恐慌,老刑警劉巖哥童,帶你破解...
    沈念sama閱讀 211,290評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件挺份,死亡現(xiàn)場離奇詭異,居然都是意外死亡如蚜,警方通過查閱死者的電腦和手機压恒,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,107評論 2 385
  • 文/潘曉璐 我一進店門影暴,熙熙樓的掌柜王于貴愁眉苦臉地迎上來错邦,“玉大人,你說我怎么就攤上這事型宙∏四兀” “怎么了?”我有些...
    開封第一講書人閱讀 156,872評論 0 347
  • 文/不壞的土叔 我叫張陵妆兑,是天一觀的道長魂拦。 經(jīng)常有香客問我,道長搁嗓,這世上最難降的妖魔是什么芯勘? 我笑而不...
    開封第一講書人閱讀 56,415評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮腺逛,結(jié)果婚禮上荷愕,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好安疗,可當(dāng)我...
    茶點故事閱讀 65,453評論 6 385
  • 文/花漫 我一把揭開白布抛杨。 她就那樣靜靜地躺著,像睡著了一般荐类。 火紅的嫁衣襯著肌膚如雪怖现。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,784評論 1 290
  • 那天玉罐,我揣著相機與錄音屈嗤,去河邊找鬼。 笑死厌小,一個胖子當(dāng)著我的面吹牛恢共,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播璧亚,決...
    沈念sama閱讀 38,927評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼讨韭,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了癣蟋?” 一聲冷哼從身側(cè)響起透硝,我...
    開封第一講書人閱讀 37,691評論 0 266
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎疯搅,沒想到半個月后濒生,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,137評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡幔欧,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,472評論 2 326
  • 正文 我和宋清朗相戀三年罪治,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片礁蔗。...
    茶點故事閱讀 38,622評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡觉义,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出浴井,到底是詐尸還是另有隱情晒骇,我是刑警寧澤,帶...
    沈念sama閱讀 34,289評論 4 329
  • 正文 年R本政府宣布磺浙,位于F島的核電站洪囤,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏撕氧。R本人自食惡果不足惜瘤缩,卻給世界環(huán)境...
    茶點故事閱讀 39,887評論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望伦泥。 院中可真熱鬧剥啤,春花似錦何暮、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,741評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至富腊,卻和暖如春坏逢,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背赘被。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工是整, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人民假。 一個月前我還...
    沈念sama閱讀 46,316評論 2 360
  • 正文 我出身青樓浮入,卻偏偏與公主長得像,于是被迫代替她去往敵國和親羊异。 傳聞我的和親對象是個殘疾皇子事秀,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,490評論 2 348

推薦閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 171,756評論 25 707
  • 背景 一年多以前我在知乎上答了有關(guān)LeetCode的問題, 分享了一些自己做題目的經(jīng)驗。 張土汪:刷leetcod...
    土汪閱讀 12,737評論 0 33
  • 5:30起床 6:10運動 7:00-7:45早餐 7:50-8:30送上學(xué)野舶,買菜 8:30-9:28晾衣易迹,發(fā)圈 ...
    小Yan子生活點滴閱讀 220評論 0 0
  • 我們應(yīng)該感謝上天,在有生之年平道,在還沒有老的走不動的時候睹欲,還能再見到彼此,還有機會擁有這樣的感情一屋,我們必須小心的呵護...
    bushabush閱讀 223評論 0 0
  • 現(xiàn)在的我窘疮,想起這句話是18:28分。我不知為何會突然想起這句話來冀墨,要說是對這段文字有些想表達的事兒吧闸衫。 ...
    夏六笙閱讀 1,390評論 0 0