Banner广告轮播的使用

项目地址:http://download.csdn.net/detail/daidaishuiping/9751670
框架地址:https://github.com/youth5201314/banner
step1.添加依赖
compile 'com.youth.banner:banner:1.4.8'  //最新版本
compile 'com.github.bumptech.glide:glide:3.7.0'

step2.添加权限到你的 AndroidManifest.xml
<uses-permission android:name="android.permission.INTERNET" /> 
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />

step3.在布局文件中添加Banner,可以设置自定义属性
<com.youth.banner.Banner
    xmlns:app="http://schemas.android.com/apk/res-auto"
    android:id="@+id/banner"
    android:layout_width="match_parent"
    android:layout_height="180dp" />

step4.重写图片加载器
public class GlideImageLoader extends ImageLoader {
    @Override
    public void displayImage(Context context, Object path, ImageView imageView) {
        //具体方法内容自己去选择,次方法是为了减少banner过多的依赖第三方包,所以将这个权限开放给使用者去选择
        Glide.with(context.getApplicationContext())
                .load(path)
                .crossFade()
                .into(imageView);
    }
}

step5.在Activity或者Fragment中配置Banner
public class MainActivity extends AppCompatActivity implements OnBannerClickListener{

    private Banner banner;
    private List images;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        String[] urls = getResources().getStringArray(R.array.url);
//        String[] urls=getResources().getStringArray(R.array.localUrl);
        List list = Arrays.asList(urls);
        images = new ArrayList(list);

        banner = (Banner) findViewById(R.id.banner);
        //设置图片加载器

        banner.setImageLoader(new GlideImageLoader());
        //设置图片集合
        banner.setImages(images);
//        //设置轮播时间
//        banner.setDelayTime(1500);
        //设置指示器位置(当banner模式中有指示器时)
        banner.setIndicatorGravity(BannerConfig.RIGHT);
        //设置banner动画效果
        banner.setBannerAnimation(Transformer.CubeOut);
        //设置点击事件
        banner.setOnBannerClickListener(this);
        //banner设置方法全部调用完毕时最后调用
        banner.start();
    }

    //如果你需要考虑更好的体验,可以这么操作
    @Override
    protected void onStart() {
        super.onStart();
        //开始轮播
        banner.startAutoPlay();
    }

    @Override
    protected void onStop() {
        super.onStop();
        //结束轮播
        banner.stopAutoPlay();
    }

    @Override
    public void OnBannerClick(int position) {
        Toast.makeText(this,"你点击了:"+position,Toast.LENGTH_SHORT).show();
    }
}

step6.创建arrays.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
    <array name="url">
        <item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic1xjab4j30ci08cjrv.jpg</item>
        <item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic21363tj30ci08ct96.jpg</item>
        <item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic259ohaj30ci08c74r.jpg</item>
        <item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic2b16zuj30ci08cwf4.jpg</item>
        <item>http://ww4.sinaimg.cn/large/006uZZy8jw1faic2e7vsaj30ci08cglz.jpg</item>
    </array>

    <array name="localUrl">
        <item>file:///android_asset/banner.png</item>
        <item>file:///android_asset/banner.png</item>
    </array>
</resources>


  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值