Skip to content

xfhy/EasyBanner

Repository files navigation

EasyBanner

一个轻松实现简单banner的框架,轻松实现。。。。

先上效果图:

已实现的功能

  • 自动轮播
  • 无限左划右划
  • 加载网络图片交给外部调用者(实现解耦),加载标题
  • 底部小白点可切换,大小可换,数量可动态增加
  • 触摸时不能滑动
  • 实现banner的item点击事件
  • 广告数目可以随意
  • 可以在代码中生成banner,也可以在xml布局中生成

引入

Step 1. Add the JitPack repository to your build file

allprojects {
		repositories {
			...
			maven { url 'https://jitpack.io' }
		}
	}

Step 2. Add the dependency

dependencies {
		compile 'com.github.xfhy:EasyBanner:v1.0.3'
	}

简单使用

使用前将该EasyBanner 这个module导入到自己的项目,并在app主项目中依赖此module.

1.在xml中使用

<com.xfhy.easybanner.ui.EasyBanner
    android:id="@+id/eb_banner"
    android:layout_width="match_parent"
    android:layout_height="200dp"/>
//可以在布局里面写
mBanner = (EasyBanner) findViewById(R.id.eb_banner);
//初始化:设置图片url和图片标题
mBanner.initBanner(getImageUrlData(), getContentData());
// 开始轮播
mBanner.start();

2.在代码中使用banner

//也可以直接动态生成
EasyBanner easyBanner = new EasyBanner(this);
//初始化:设置图片url和图片标题
easyBanner.initBanner(getImageUrlData(), getContentData());
mRootView.addView(easyBanner,new LinearLayout.LayoutParams(LinearLayout
        .LayoutParams.MATCH_PARENT, DensityUtil.dip2px(this,200)));
// 开始轮播
mBanner.start();

3.设置图片加载器(必须)

//设置图片加载器
mBanner.setImageLoader(new EasyBanner.ImageLoader() {
    @Override
    public void loadImage(ImageView imageView, String url) {
        Glide.with(mContext).load(url).into(imageView);
    }
});

4.实现点击事件(非必须)

//监听banner的item点击事件
mBanner.setOnItemClickListener(new EasyBanner.OnItemClickListener() {
    @Override
    public void onItemClick(int position, String title) {
        Toast.makeText(MainActivity.this, "position:"+position+"   title:"+title, Toast
                .LENGTH_SHORT).show();
    }
});

5.开始轮播(必须)

初始化之后就可以调用start()方法开始轮播啦

当然也可以在Activity或者fragment中的onResume()方法中调用start()方法开始轮播

mBanner.start();

6.结束轮播(必须)

当我们在离开当前Activity或者fragment时我们需要结束轮播,当然你也可以不结束.不结束轮播的话,它就一直在后台轮播....哈哈哈哈,这个问题暂时没有解决,,,,

@Override
protected void onStop() {
    super.onStop();
    if (mBanner != null) {
        mBanner.stop();
    }
}

基本使用就是这样,详情请看demo

About

一个轻松实现简单banner的框架,轻松实现。。。。

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages