首先倒依赖包
compile 'com.facebook.fresco:fresco:1.5.0'
compile 'com.youth.banner:banner:1.4.10'
compile 'com.squareup.okhttp3:okhttp:3.9.0'
compile 'com.squareup.okhttp3:logging-interceptor:3.9.0'
compile 'com.google.code.gson:gson:2.8.2'
然后写布局
<com.youth.banner.Banner
android:layout_width="match_parent"
android:layout_height="50dp"
android:id="@+id/ban"></com.youth.banner.Banner>
然后写加载图片的工具类
public class GlideImageLoader extends ImageLoader {
@Override
public void displayImage(Context context, Object path, ImageView imageView) {
/**
注意:
1.图片加载器由自己选择,这里不限制,只是提供几种使用方法
2.返回的图片路径为Object类型,由于不能确定你到底使用的那种图片加载器,
传输的到的是什么格式,那么这种就使用Object接收和返回,你只需要强转成你传输的类型就行,
切记不要胡乱强转!
*/
//用fresco加载图片简单用法,记得要写下面的createImageView方法
Uri uri = Uri.parse((String) path);
imageView.setImageURI(uri);
}
//提供createImageView 方法,如果不用可以不重写这个方法,主要是方便自定义ImageView的创建
@Override
public ImageView createImageView(Context context) {
//使用fresco,需要创建它提供的ImageView,当然你也可以用自己自定义的具有图片加载功能的ImageView
SimpleDraweeView simpleDraweeView=new SimpleDraweeView(context);
return simpleDraweeView;
}
}
然后是注册Fresco.
public class App extends Application{
@Override
public void onCreate() {
super.onCreate();
Fresco.initialize(this);
}
}
最后就写mainactivity
public class MainActivity extends AppCompatActivity implements IMainActivity{
private Banner mBan;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
initView();
MainPresenter mainPresenter = new MainPresenter(th
is);
mainPresenter.ddshow();
}
private void initView() {
mBan = (Banner) findViewById(R.id.ban);
}
@Override
public void get(List<Catagory.DataBean> list) {
String icon = list.get(0).getIcon();
String icon1 = list.get(1).getIcon();
String icon2 = list.get(2).getIcon();
mBan.setImageLoader(new GlideImageLoader());
List<String> img=new ArrayList<String>();
img.add(icon);
img.add(icon1);
img.add(icon2);
mBan.setImages(img);
mBan.start();
}
}
应该就可以出来了