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