效果:

比较好用的图片轮播 AndroidImageSlider_自定义

比较好用的图片轮播 AndroidImageSlider_移动开发_02



一款很实用的用于制作幻灯片的组件,动画效果很好,可直接加载本地图片和网络图片。

常用的几个方法,项目有更详细的注释

//      幻灯片切换方式  
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) {

}
}


项目有两个依赖库


[url=https://github.com/square/picasso]Picasso[/url]


[url=https://github.com/JakeWharton/NineOldAndroids]NineOldAndroids[/url]