幫助你創建視差效果引導頁的Android庫slidingtutorial

VeraManley 8年前發布 | 12K 次閱讀 Android開發 移動開發

幫助你創建視差效果引導頁的Android庫,類似于谷歌官方應用中常見的引導效果。細節到位,自定義強,使用簡單,還可無限循環。

使用說明:

首先添加依賴:

dependencies {
    compile 'com.cleveroad:slidingtutorial:0.9.3'
}

在你創建了必須繼承PageFragment的每個fragment之后,你還必須用image創建xml文件。

public class FirstCustomPageFragment extends PageFragment {

    @Override     protected int getLayoutResId() {         // layout id of fragment         return R.layout.fragment_page_first;     }

    @Override     protected TransformItem[] provideTransformItems() {         // list of transformation items         return new TransformItem[]{                 new TransformItem(R.id.ivFirstImage, true, 20),                 new TransformItem(R.id.ivSecondImage, false, 6),                 new TransformItem(R.id.ivThirdImage, true, 8),                 new TransformItem(R.id.ivFourthImage, false, 10),                 new TransformItem(R.id.ivFifthImage, false, 3),                 new TransformItem(R.id.ivSixthImage, false, 9),                 new TransformItem(R.id.ivSeventhImage, false, 14),                 new TransformItem(R.id.ivEighthImage, false, 7)         };     } }</pre>

然后你需要把這些fragments放在主slidingtutroial fragment中:

public class CustomPresentationPagerFragment extends PresentationPagerFragment {

    @Override     public int getLayoutResId() {         // layout id of fragment         return R.layout.fragment_presentation;     }

    @Override     public int getViewPagerResId() {         // id of view pager         return R.id.viewPager;     }

    @Override     public int getIndicatorResId() {         // id of circular indicator         return R.id.indicator;     }

    @Override     public int getButtonSkipResId() {         // id of skip button         return R.id.tvSkip;     }

    @Override     protected int getPagesCount() {         // total number of pages         return 3;     }

    @Override     protected PageFragment getPage(int position) {         // get page for position         if (position == 0)             return new FirstCustomPageFragment();         if (position == 1)             return new SecondCustomPageFragment();         if (position == 2)             return new ThirdCustomPageFragment();         throw new IllegalArgumentException("Unknown position: " + position);     }

    @ColorInt     @Override     protected int getPageColor(int position) {         // get color of page         if (position == 0)             return ContextCompat.getColor(getContext(), android.R.color.holo_orange_dark);         if (position == 1)             return ContextCompat.getColor(getContext(), android.R.color.holo_green_dark);         if (position == 2)             return ContextCompat.getColor(getContext(), android.R.color.holo_blue_dark);         return Color.TRANSPARENT;     }

    @Override     protected boolean isInfiniteScrollEnabled() {         // enable/disable infinite scroll behavior         return true;     }

    @Override     protected boolean onSkipButtonClicked() {         // your own behavior goes here         // ...         // return true to consume click event, false otherwise         return true;     } }</pre>

相關文章:  Case Study: Sliding tutorial for Android by Cleveroad 。

</div> </div>

項目地址: https://github.com/Cleveroad/slidingtutorial-android

 本文由用戶 VeraManley 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!