项目地址:http://download.csdn.net/detail/daidaishuiping/9751670
框架地址:https://github.com/youth5201314/banner
step1.添加依赖
compile 'com.youth.banner:banner:1.4.8' //最新版本
compile 'com.github.bumptech.glide:glide:3.7.0'
step2.添加权限到你的 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
step3.在布局文件中添加Banner,可以设置自定义属性
<com.youth.banner.Banner
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/banner"
android:layout_width="match_parent"
android:layout_height="180dp" />
step4.重写图片加载器
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
//具体方法内容自己去选择,次方法是为了减少banner过多的依赖第三方包,所以将这个权限开放给使用者去选择
Glide.with(context.getApplicationContext())
.load(path)
.crossFade()
.into(imageView);
}
}
step5.在Activity或者Fragment中配置Banner
public class MainActivity extends AppCompatActivity implements OnBannerClickListener{
private Banner banner;
private List images;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
String[] urls = getResources().getStringArray(R.array.url);
// String[] urls=getResources().getStringArray(R.array.localUrl);
List list = Arrays.asList(urls);
images = new ArrayList(list);
banner = (Banner) findViewById(R.id.banner);
//设置图片加载器
banner.setImageLoader(new GlideImageLoader());
//设置图片集合
banner.setImages(images);
// //设置轮播时间
// banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.RIGHT);
//设置banner动画效果
banner.setBannerAnimation(Transformer.CubeOut);
//设置点击事件
banner.setOnBannerClickListener(this);
//banner设置方法全部调用完毕时最后调用
banner.start();
}
//如果你需要考虑更好的体验,可以这么操作
@Override
protected void onStart() {
super.onStart();
//开始轮播
banner.startAutoPlay();
}
@Override
protected void onStop() {
super.onStop();
//结束轮播
banner.stopAutoPlay();
}
@Override
public void OnBannerClick(int position) {
Toast.makeText(this,"你点击了:"+position,Toast.LENGTH_SHORT).show();
}
}
step6.创建arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<array name="url">
<item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic1xjab4j30ci08cjrv.jpg</item>
<item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg</item>
<item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg</item>
<item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg</item>
<item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg</item>
</array>
<array name="localUrl">
<item>file:///android_asset/banner.png</item>
<item>file:///android_asset/banner.png</item>
</array>
</resources>