title: 一个方便做轮播图的工具
date: 2016-12-05 10:33:27
tags: Utils
-
首先导入包
compile 'com.youth.banner:banner:1.4.2' compile 'com.github.bumptech.glide:glide:3.7.0'
当然不用glide,用picasso,fresco都是可以的
-
然后写一个加载类,如果是用Glide的话,就这么写
package com.aidebar.demo; import android.content.Context; import android.widget.ImageView; import com.bumptech.glide.Glide; import com.youth.banner.loader.ImageLoader; /** * @author xzj * @date 2016/11/21 11:27. */ public class GlideImageLoader extends ImageLoader { @Override public void displayImage(Context context, Object path, ImageView imageView) { /** 常用的图片加载库: Universal Image Loader:一个强大的图片加载库,包含各种各样的配置,最老牌,使用也最广泛。 Picasso: Square出品,必属精品。和OkHttp搭配起来更配呦! Volley ImageLoader:Google官方出品,可惜不能加载本地图片~ Fresco:Facebook出的,天生骄傲!不是一般的强大。 Glide:Google推荐的图片加载库,专注于流畅的滚动。 */ //Glide 加载图片简单用法 Glide.with(context).load(path).into(imageView); // //Picasso 加载图片简单用法 // Picasso.with(context).load(path).into(imageView) // // //用fresco加载图片简单用法 // Uri uri = Uri.parse((String) path); // imageView.setImageURI(uri); } // //提供createImageView 方法,如果不用可以不重写这个方法,方便fresco自定义ImageView // @Override // public ImageView createImageView(Context context) { // SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context); // return simpleDraweeView; // } }
-
布局很简单,就是一个banner
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main" android:layout_width="match_parent" android:layout_height="match_parent" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context="com.aidebar.demo.MainActivity"> <com.youth.banner.Banner android:id="@+id/banner" android:layout_width="wrap_content" android:layout_height="wrap_content"/> </RelativeLayout>
-
使用:
package com.aidebar.demo; import android.os.Bundle; import android.support.v7.app.AppCompatActivity; import android.widget.ImageView; import com.youth.banner.Banner; import com.youth.banner.BannerConfig; import java.util.ArrayList; import java.util.List; public class MainActivity extends AppCompatActivity { private List<Integer> images = new ArrayList<>(); @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); images.add(R.mipmap.a); images.add(R.mipmap.b); images.add(R.mipmap.d); Banner banner = (Banner) findViewById(R.id.banner); banner.setImageLoader(new GlideImageLoader()); //设置加载器 banner.setImages(images); //设置好资源 banner.setIndicatorGravity(BannerConfig.CENTER); banner.isAutoPlay(true); banner.start(); } }