package com.dl7.mvp.utils; import android.content.Context; import android.os.Bundle; import com.daimajia.slider.library.Animations.DescriptionAnimation; import com.daimajia.slider.library.SliderLayout; import com.daimajia.slider.library.SliderTypes.BaseSliderView; import com.daimajia.slider.library.SliderTypes.TextSliderView; import com.dl7.mvp.api.NewsUtils; import com.dl7.mvp.api.bean.NewsInfo; import com.dl7.mvp.module.news.article.NewsArticleActivity; import com.dl7.mvp.module.news.photoset.PhotoSetActivity; import com.dl7.mvp.module.news.special.SpecialActivity; /** * Created by long on 2016/8/24. * 滑动器帮助类 */ public final class SliderHelper { private static final String SLIDER_KEY = "SliderKey"; private SliderHelper() { throw new RuntimeException("SliderHelper cannot be initialized!"); } /** * 初始化广告滑动器 * * @param context * @param sliderLayout * @param newsBean */ public static void initAdSlider(final Context context, SliderLayout sliderLayout, NewsInfo newsBean) { for (NewsInfo.AdData adData : newsBean.getAds()) { TextSliderView textSliderView = new TextSliderView(context); // initialize a SliderLayout textSliderView.description(adData.getTitle()) .image(adData.getImgsrc()) .empty(DefIconFactory.provideIcon()) .setScaleType(BaseSliderView.ScaleType.CenterCrop) .setOnSliderClickListener(new BaseSliderView.OnSliderClickListener() { @Override public void onSliderClick(BaseSliderView slider) { if (slider.getBundle() != null) { NewsInfo.AdData adData = slider.getBundle().getParcelable(SLIDER_KEY); if (adData != null) { if (NewsUtils.isNewsPhotoSet(adData.getTag())) { PhotoSetActivity.launch(context, adData.getUrl()); } else if (NewsUtils.isNewsSpecial(adData.getTag())) { SpecialActivity.launch(context, adData.getUrl()); } else { // NewsDetailActivity.launch(context, adData.getUrl()); NewsArticleActivity.launch(context, adData.getUrl()); } } } } }); //add your extra information textSliderView.bundle(new Bundle()); textSliderView.getBundle().putParcelable(SLIDER_KEY, adData); sliderLayout.addSlider(textSliderView); } sliderLayout.setPresetIndicator(SliderLayout.PresetIndicators.Right_Bottom); sliderLayout.setPresetTransformer(SliderLayout.Transformer.Accordion); sliderLayout.setCustomAnimation(new DescriptionAnimation()); sliderLayout.setDuration(4000); } }