幫助你創建視差效果引導頁的Android庫slidingtutorial
幫助你創建視差效果引導頁的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>