展示效果
1.Gridle文件添加:
compile 'com.youth.banner:banner:1.4.9' //最新版本
2.AndroidManifest.xml添加权限
<uses-permission android:name="android.permission.INTERNET" />//联网
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />//读取外置存储卡
3.添加布局文件
<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="150dp" />
4.实现Glide包相关联
5.实例化控件,添加数据集合
private void initView() {
banner = (Banner) findViewById(R.id.banner);
list_path = new ArrayList<>();
list_title = new ArrayList<>();
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add("http://a3.att.hudong.com/72/76/01300000012339118647690465772.jpg");
list_title.add("爱党");
list_title.add("爱祖国");
list_title.add("爱人民");
list_title.add("爱社会");
list_title.add("爱学习");
list_title.add("爱劳动");
list_title.add("爱妹子");
6.设置banner属性
banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR_TITLE);
//设置图片加载器
banner.setImageLoader(new MyLoader);
//设置图片集合
banner.setImages(list_path);
//设置banner动画效果
banner.setBannerAnimation(Transformer.DepthPage);
//设置标题集合(当banner样式有显示title时)
banner.setBannerTitles(list_title);
//设置自动轮播,默认为true
banner.isAutoPlay(true);
//设置轮播时间
banner.setDelayTime(1500);
//设置指示器位置(当banner模式中有指示器时)
banner.setIndicatorGravity(BannerConfig.CENTER);
//banner设置方法全部调用完毕时最后调用
banner.start();
7.自定义MyLoader类
private class MyLoader
extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide.
with(context).
load((String) path).into(imageView); //传入路径,因为list为String格式,path为Object格式,所以强制类型转换.
}
}
8.全部代码
package com.zhiyuan3g.administrator.banner;
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private Banner banner;
private ArrayList<String> list_path;
private ArrayList<String> list_title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
initView();
}
private void initView() {
banner = (Banner) findViewById(R.id. banner);
list_path = new ArrayList<>();
list_title = new ArrayList<>();
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://a3.att.hudong.com/72/76/01300000012339118647690465772.jpg");
list_title.add( " 爱祖国 ");
list_title.add( " 爱人民 ");
list_title.add( " 爱社会 ");
list_title.add( " 爱学习 ");
list_title.add( " 爱劳动 ");
list_title.add( " 爱妹子 ");
list_title.add( " 爱党 ");
banner.setBannerStyle(BannerConfig. CIRCLE_INDICATOR_TITLE_INSIDE);
banner.setImageLoader( new MyLoader());
banner.setImages( list_path);
banner.setBannerAnimation(Transformer. Default);
banner.setBannerTitles( list_title);
banner.setDelayTime( 1000);
banner.isAutoPlay( true);
banner.setIndicatorGravity(BannerConfig. CENTER);
banner.start();
}
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide. with(context).load((String) path).into(imageView);
}
}
}
import android.content.Context;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.widget.ImageView;
import com.bumptech.glide.Glide;
import com.youth.banner.Banner;
import com.youth.banner.BannerConfig;
import com.youth.banner.Transformer;
import com.youth.banner.loader.ImageLoader;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
private Banner banner;
private ArrayList<String> list_path;
private ArrayList<String> list_title;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout. activity_main);
initView();
}
private void initView() {
banner = (Banner) findViewById(R.id. banner);
list_path = new ArrayList<>();
list_title = new ArrayList<>();
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://img.poco.cn/mypoco/myphoto/20071007/11/20071007114140_1251314291.jpg");
list_path.add( "http://a3.att.hudong.com/72/76/01300000012339118647690465772.jpg");
list_title.add( " 爱祖国 ");
list_title.add( " 爱人民 ");
list_title.add( " 爱社会 ");
list_title.add( " 爱学习 ");
list_title.add( " 爱劳动 ");
list_title.add( " 爱妹子 ");
list_title.add( " 爱党 ");
banner.setBannerStyle(BannerConfig. CIRCLE_INDICATOR_TITLE_INSIDE);
banner.setImageLoader( new MyLoader());
banner.setImages( list_path);
banner.setBannerAnimation(Transformer. Default);
banner.setBannerTitles( list_title);
banner.setDelayTime( 1000);
banner.isAutoPlay( true);
banner.setIndicatorGravity(BannerConfig. CENTER);
banner.start();
}
private class MyLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
Glide. with(context).load((String) path).into(imageView);
}
}
}
详细流程参照:https://github.com/youth5201314/banner