首先加入依赖
// 轮播框架 // implementation 'com.bigkoo:ConvenientBanner:2.1.4' 新版的感觉不方便 implementation 'com.bigkoo:convenientbanner:2.0.5'// 这个是旧版的 //图片加载框架 implementation 'com.github.bumptech.glide:glide:4.7.1' annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
如果你导入了图片加载框架的话
就要在根app的 bulide.gradle下加
repositories { mavenCentral() google() jcenter() }
然后xml文件下
<com.bigkoo.convenientbanner.ConvenientBanner xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="200dp" app:canLoop="true" android:id="@+id/convenientBanner" ></com.bigkoo.convenientbanner.ConvenientBanner>
下面需要写一个holderView
/** * * @author dell-pc * @date 2018/6/27 */ public class LocalImageHolderView implements Holder<String> { private ImageView imageView; @Override public View createView(Context context) { imageView = new ImageView(context); imageView.setScaleType(ImageView.ScaleType.FIT_XY); return imageView; } /** * 这里要注意传的是字符串还是int 型的 * */ @Override public void UpdateUI(Context context, int position, String data) { // imageView.setImageResource(data); Glide.with(context).load(data).into(imageView); } }
这个是用来控制控件放入的地方
下面就是activity了
public class MainActivity extends AppCompatActivity implements OnItemClickListener { private ConvenientBanner convenientBanner; private List<String> localImages; private String[] images = {"http://img2.imgtn.bdimg.com/it/u=3093785514,1341050958&fm=21&gp=0.jpg", "http://img2.3lian.com/2014/f2/37/d/40.jpg", "http://d.3987.com/sqmy_131219/001.jpg", "http://img2.3lian.com/2014/f2/37/d/39.jpg", "http://www.8kmm.com/UploadFiles/2012/8/201208140920132659.jpg", "http://f.hiphotos.baidu.com/image/h%3D200/sign=1478eb74d5a20cf45990f9df460b4b0c/d058ccbf6c81800a5422e5fdb43533fa838b4779.jpg", "http://f.hiphotos.baidu.com/image/pic/item/09fa513d269759ee50f1971ab6fb43166c22dfba.jpg" }; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); convenientBanner = findViewById(R.id.convenientBanner); localImages = new ArrayList<>(); localImages.add("http://img2.imgtn.bdimg.com/it/u=3093785514,1341050958&fm=21&gp=0.jpg"); localImages.add("http://img2.3lian.com/2014/f2/37/d/40.jpg"); localImages.add("http://d.3987.com/sqmy_131219/001.jpg"); localImages.add("http://img2.3lian.com/2014/f2/37/d/39.jpg"); localImages.add("http://www.8kmm.com/UploadFiles/2012/8/201208140920132659.jpg"); //开始自动翻页 convenientBanner.setPages(new CBViewHolderCreator() { @Override public Object createHolder() { return new LocalImageHolderView(); } },localImages) //设置指示器是否可见 .setPointViewVisible(true) //设置自动切换(同时设置了切换时间间隔) .startTurning(2000) //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设 .setPageIndicator(new int[]{R.drawable.ic_page_indicator, R.drawable.ic_page_indicator_focused}) //设置指示器的方向(左、中、右) .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL) //设置点击监听事件 .setOnItemClickListener(this) //设置手动影响(设置了该项无法手动切换) .setManualPageable(true); } //图片的点击事件 @Override public void onItemClick(int position) { Toast.makeText(this, "position:" + position, Toast.LENGTH_SHORT).show(); } }下来就可以运行了