1导入依赖
compile 'com.xhb:xbanner:1.2.2' compile 'com.nineoldandroids:library:2.4.0' compile 'com.github.bumptech.glide:glide:3.7.0' compile 'jp.wasabeef:glide-transformations:1.0.6'
2添加权限
<uses-permission android:name="android.permission.INTERNET" />
3.布局文件
<com.stx.xhb.xbanner.XBanner android:id="@+id/banner" android:layout_width="match_parent" android:layout_height="200.0dip" app:AutoPlayTime="3000" app:pointsContainerBackground="#44AAAAAA" app:pointsPosition="RIGHT" app:tipTextColor="#FFFFFFFF" app:tipTextSize="16.0sp" />
4.mainactivity中
XBanner banner; ArrayList<String> images; ArrayList<String> titles;
banner = (XBanner) findViewById(R.id.banner); // 初始化XBanner中展示的数据 images = new ArrayList<>(); titles = new ArrayList<>();
images.add("https://gss1.bdstatic.com/9vo3dSag_xI4khGkpoWK1HF6hhy/baike/w%3D268%3Bg%3D0/sign=e9449e382d9759ee4a5067cd8ac0242b/94cad1c8a786c9179e80a80cc23d70cf3bc75700.jpg"); titles.add("这是第1张图片"); images.add("http://img.ivsky.com/img/bizhi/co/201711/27/nissan_vmotion2_0-001.jpg"); titles.add("这是第2张图片"); images.add("http://img.ivsky.com/img/tupian/co/201709/18/zise_huaduo.jpg"); titles.add("这是第3张图片"); images.add("http://img.ivsky.com/img/tupian/co/201709/16/dahailidehaiguitupian.jpg"); titles.add("这是第4张图片");
// 为XBanner绑定数据 banner.setData(images, titles);// XBanner适配数据 banner.setmAdapter(new XBanner.XBannerAdapter() { @Override public void loadBanner(XBanner banner, View view, int position) { Glide.with(MainActivity.this).load(images.get(position)).into((ImageView) view); } });// 设置XBanner的页面切换特效,选择一个即可,总的大概就这么多效果啦,欢迎使用 banner.setPageTransformer(Transformer.Default);//横向移动banner.setPageTransformer(Transformer.Alpha); //渐变,效果不明显banner.setPageTransformer(Transformer.Rotate); //单页旋转banner.setPageTransformer(Transformer.Cube); //立体旋转banner.setPageTransformer(Transformer.Flip); // 反转效果banner.setPageTransformer(Transformer.Accordion); //三角换页banner.setPageTransformer(Transformer.ZoomFade); // 缩小本页,同时放大另一页banner.setPageTransformer(Transformer.ZoomCenter); //本页缩小一点,另一页就放大banner.setPageTransformer(Transformer.ZoomStack); // 本页和下页同事缩小和放大banner.setPageTransformer(Transformer.Stack); //本页和下页同时左移banner.setPageTransformer(Transformer.Depth); //本页左移,下页从后面出来banner.setPageTransformer(Transformer.Zoom); //本页刚左移,下页就在后面// 设置XBanner页面切换的时间,即动画时长 banner.setPageChangeDuration(1000);//xbanner的点击事件banner.setOnItemClickListener(new XBanner.OnItemClickListener() { @Override public void onItemClick(XBanner banner, int position) { Toast.makeText(MainActivity.this, "点击了第" + (position + 1) + "张图片", Toast.LENGTH_SHORT).show(); } });//把xbanner放在生命周期中,随便放@Override protected void onResume() { super.onResume(); banner.startAutoPlay(); } @Override protected void onStop() { super.onStop(); banner.stopAutoPlay(); }