1、先来一张效果图
下边的图片是自己加载的本地的图片。上边的图片是无限轮播的。
使用的时候需要添加依赖:
compile 'com.youth.banner:banner:+' compile 'com.github.bumptech.glide:glide:3.8.0'还有添加网络权限
<uses-permission android:name="android.permission.INTERNET"></uses-permission>
2、
activity_main中:
<com.youth.banner.Banner android:id="@+id/main_banner" android:layout_width="match_parent" android:layout_height="400px" />3、
mainActivity中:
public class MainActivity extends AppCompatActivity { private Banner banner; //将网址存入到数组中 private String[] imageUrl2 = {"http://www.eoeandroid.com/data/attachment/forum/201107/18/142935bbi8d3zpf3d0dd7z.jpg", "http://p2.so.qhmsg.com/t012260d3b41f75fd6c.jpg", "http://p4.so.qhmsg.com/t013ffda9265fda17e9.jpg", "http://p1.so.qhmsg.com/t01eb38aed4329fff56.jpg", "http://p3.so.qhmsg.com/t018bad5bce1c4ad613.jpg"}; private List<String> urlList; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); urlList = new ArrayList<String>();4、创建图片加载的方式//把数组中的数据添加到集合中去
for (int i = 0; i < imageUrl2.length; i++) { urlList.add(imageUrl2[i]); } banner = (Banner) findViewById(R.id.main_banner); //设置间隔 banner.setDelayTime(3000); //添加图片 banner.setImages(urlList);//设置图片加载的方式(这里是用的glide)banner.setImageLoader(new BannerImageLoader()); Log.d("image", urlList+"onCreate: "); //banner加点 banner.setBannerStyle(BannerConfig.CIRCLE_INDICATOR); //点居中 banner.setIndicatorGravity(Banner.TEXT_ALIGNMENT_CENTER); //点击事件 banner.setOnBannerClickListener(new OnBannerClickListener() { @Override public void OnBannerClick(int position) { //页面的点击跳转 Toast.makeText(MainActivity.this, "页面的点击跳转详情", Toast.LENGTH_SHORT).show(); } }); banner.start(); }}
BannerImageLoader
public class BannerImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { Glide.with(context).load(path).into(imageView); } }
如果是加载本地图片的话
把本地图片添加到一个集合中去。
格式例如:
private int[] imageUrl = {R.drawable.x,R.drawable.e,R.drawable.w,R.drawable.q,R.drawable.v};然后把数据中的数据通过for循环添加到集合中去,在这里集合的泛型必须是Integer类型的。
urlList = new ArrayList<Integer>(); for (int i = 0; i < imageUrl.length; i++) { urlList.add(imageUrl[i]); }