banner轮播

来源:互联网 发布:淘宝甩货文案 编辑:程序博客网 时间:2024/05/22 17:04

首先倒依赖包

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();    }}

应该就可以出来了