viewPager 的滑動(dòng)帶漸變的動(dòng)畫(huà)

InfiniteCycleViewPager 項(xiàng)目里有一個(gè)

HorizontalInfiniteCycleViewPager類(lèi) 繼承的ViewPager 實(shí)現(xiàn)了自己的一個(gè)ViewPageable接口 , 主要是就拿到InfiniteCycleManager 內(nèi)部層邏輯處理后傳遞的參數(shù),我們來(lái)調(diào)用系統(tǒng)的viewPager的代碼;

InfiniteCycleManager 控制寫(xiě)邏輯代碼

InfiniteCyclePagerAdapter 是一個(gè)包裝類(lèi),用戶(hù)傳遞過(guò)來(lái)pagerAdapter 實(shí)現(xiàn)類(lèi)

package com.gigamole.infinitecycleviewpager;

import android.support.v4.view.PagerAdapter;
import android.view.View;

import static android.support.v4.view.ViewPager.OnPageChangeListener;
import static android.support.v4.view.ViewPager.PageTransformer;

/**
 * Created by GIGAMOLE on 7/27/16.
 */

// Interface that duplicate methods of ViewPager for implements it in Horizontal and Vertical
// InfiniteCycleViewPager for casting them to ViewPageable in InfiniteCycleManager
interface ViewPageable {

    boolean hasWindowFocus();
    int getCurrentItem();
    int getChildCount();
    View getChildAt(final int index);
    PagerAdapter getAdapter();

    boolean post(final Runnable runnable);

    void addOnPageChangeListener(final OnPageChangeListener onPageChangeListener);
    void setClipChildren(final boolean clipChildren);
    void setDrawingCacheEnabled(final boolean drawingCacheEnabled);
    void setWillNotCacheDrawing(final boolean willNotCacheDrawing);
    void setOverScrollMode(final int overScrollMode);
    void setCurrentItem(final int item);
    void setPageTransformer(final boolean reverseDrawingOrder, final PageTransformer transformer);
    void setPageMargin(final int pageMargin);
    void setOffscreenPageLimit(final int offscreenPageLimit);

    boolean isFakeDragging();
    boolean beginFakeDrag();
    void fakeDragBy(final float dragBy);
    void endFakeDrag();

}

其實(shí) HorizontalInfiniteCycleViewPager 他就是自定義的?ViewPager

推薦 GitHub: https://github.com/Devlight/InfiniteCycleViewPager

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 173,242評(píng)論 25 708
  • 時(shí)間: 2016.03.07 22:15-22:30 進(jìn)度: p125-130 自己要先看得起自己,別人才會(huì)看的起...
    MissBao88閱讀 344評(píng)論 0 0
  • 今天是第五次課,干活滿(mǎn)滿(mǎn)。宇彤老師今天分享了很多且實(shí)用的技巧,印象最深的是 提打挺松:提顴肌(蘋(píng)果肌),打開(kāi)牙關(guān)...
    跌宕起伏的悠悠人生閱讀 384評(píng)論 0 0
  • 偉大的預(yù)言家在等待預(yù)言成真的時(shí)候著不著急我不知道,反正我是不急的:我感覺(jué)這個(gè)21天能圓滿(mǎn)完成。 這周和上周一...
    柳濤虹閱讀 192評(píng)論 0 1
  • 2017年過(guò)年期間,當(dāng)大家都走親訪友的時(shí)侯,我感冒了。每次一到這時(shí)侯就感冒。是因?yàn)槭覂?nèi)室外溫差太大。天天打無(wú)...
    無(wú)非草木閱讀 521評(píng)論 2 3