banner轮播

首先倒依赖包

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 list) {
        String icon = list.get(0).getIcon();
        String icon1 = list.get(1).getIcon();
        String icon2 = list.get(2).getIcon();
        mBan.setImageLoader(new GlideImageLoader());
        List img=new ArrayList();
        img.add(icon);
        img.add(icon1);
        img.add(icon2);
        mBan.setImages(img);
        mBan.start();
    }
}

应该就可以出来了

你可能感兴趣的:(banner轮播)