美文网首页
自动轮播的Banner View,支持无限循环

自动轮播的Banner View,支持无限循环

作者: l1zheng | 来源:发表于2018-06-04 10:27 被阅读31次

    AutoBanner

    项目地址:Github

    介绍

    AutoBanner是一个简单实现自动无限轮播图的自定义banner控件。

    属性

    属性名称 描述 类型 默认值
    app:indicator_type 指示器类型 enum image
    app:delay_time 轮播时间间隔 int 3000
    app:auto_play 是否开启自动轮播 boolean true
    app:indicator_gravity 指示器位置 enum center
    app:indicator_margin 图片指示器间距 dimension 4
    app:indicator_size 指示器图片大小 dimension 8
    app:indicator_drawable_selected 指示器选中图片 reference 黑点子
    app:indicator_drawable_unselected 指示器未选中图片 reference 白点子
    app:indicator_layout_height 指示器父布局高度 dimension 36
    app:indicator_layout_background 指示器父布局背景 reference/color transparent

    方法

    方法名称 说明 参数
    setAutoPlay(boolean autoPlay) 设置是否自动轮播 默认true
    setDelayTime(int time) 设置轮播图片间隔 默认3000
    setIndicatorGravity(int gravity) 指示器gravity 0:left 1:center 2:right
    setImageResources(List<String> imageUrlList, AutoBannerViewListener lis) 填充图片数据,调用此方法会自动调用start() ---
    start() 开始轮播 ---
    stop() 停止轮播 ---

    效果如下图:

    banner1.jpg
    banner2.jpg
    banner3.jpg

    使用方法

    1.Gradle中添加依赖

    dependencies{
        compile 'com.yjz:AutoBanner:1.0.2'
    }
    

    2.添加权限 AndroidManifest.xml (显示网络图片需要Internet)

    <uses-permission android:name="android.permission.INTERNET" />
    

    3.布局文件中添加

        <com.jz.autobanner.AutoBannerView
                android:id="@+id/autoBanner"
                android:layout_width="match_parent"
                android:layout_height="自己定"
                />
    

    4.in Activity or Fragment

    
            autoBannerView = findViewById(R.id.autoBanner);
            List<String> images = new ArrayList<>();
            images.add("http://ww1.sinaimg.cn/large/0065oQSqly1frsllc19gfj30k80tfah5.jpg");
            images.add("http://ww1.sinaimg.cn/large/0065oQSqly1frslibvijrj30k80q678q.jpg");
            images.add("http://ww1.sinaimg.cn/large/0065oQSqly1frrifts8l5j30j60ojq6u.jpg");
            images.add("http://ww1.sinaimg.cn/large/0065oQSqly1frjd77dt8zj30k80q2aga.jpg");
            autoBannerView.setImageResources(images, new AutoBannerView.AutoBannerViewListener() {
                @Override
                public void displayImage(String imageURL, ImageView imageView) {
                    //显示图片方法,图片框架自己选~ 这里使用的是Glide
                    Glide.with(mActivity).load(imageURL).into(imageView);
                }
    
                @Override
                public void onImageClick(int position, View imageView) {
                    //点击图片的事件...
                    Toast.makeText(mActivity, "点击了位置" + position, Toast.LENGTH_SHORT).show();
                }
            });
    
    
            //可选
           @Override
            protected void onPause() {
                super.onPause();
                autoBannerView.stop();
            }
    
            @Override
            protected void onResume() {
                super.onResume();
                autoBannerView.start();
            }
    
    
    

    over~ 需要扩展的可以下载自己扩展,类很简单~

    相关文章

      网友评论

          本文标题:自动轮播的Banner View,支持无限循环

          本文链接:https://www.haomeiwen.com/subject/kvsesftx.html