一款很实用的用于制作幻灯片的组件,动画效果很好,可直接加载本地图片和网络图片。
常用的几个方法,项目有更详细的注释
// 幻灯片切换方式 slider.setPresetTransformer(SliderLayout.Transformer.Accordion); // 指示符位置 slider.setPresetIndicator(SliderLayout.PresetIndicators.Center_Bottom); // 定义指示器样式 // mDemoSlider.setCustomIndicator(your view); // 幻灯片循环 // mDemoSlider.startAutoCycle(); // 停止循环 slider.stopAutoCycle(); // 设置指示器的显示与否 slider.setIndicatorVisibility(PagerIndicator.IndicatorVisibility.Visible); // 设置幻灯片的转化时间 // mDemoSlider.setSliderTransformDuration(5000, null); // 用来自定义幻灯片标题的显示方式 slider.setCustomAnimation(new DescriptionAnimation()); // 幻灯片切换时间 slider.setDuration(7000);
注意事项
1.如果你从网络加载图片,需要添加下面两个权限
<uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
2.组件的自定义
如果你想从新定义指示器,修改 *.Indicators.PagerIndicator 所对应XML
如果你想修改幻灯片的样式,修改*.SliderTypes.TextSliderView 所对应XML
如果你想定义自己的幻灯片切换效果,你需要继承BaseTransformer,并需要重写
@Override protected void onTransform(View view, float position) { ViewHelper.setPivotX(view, position < 0 ? 0 : view.getWidth()); ViewHelper.setScaleX(view, position < 0 ? 1f + position : 1f - position); }
使用ViewHelper(NineOldAndroids)对2.2+进行支持。
如果你想自定义幻灯片标题栏的View,需要实现这个接口
public class DescriptionAnimation implements BaseAnimationInterface { @Override public void onPrepareCurrentItemLeaveScreen(View current) { } @Override public void onPrepareNextItemShowInScreen(View next) { } @Override public void onCurrentItemDisappear(View view) { } @Override public void onNextItemAppear(View view) { } }
项目有两个依赖库
Picasso
NineOldAndroids