Android 简单实用的轮播图控件

CarouselBanner 是一款展示图片或者广告的控件。它使用简单,不依赖其他第三方框架,而且把图片加载的过程通过接口的方式让使用者自行实现。
github:https://github.com/hacknife/CarouselBanner
闲话不多说,直接上效果图。

CarouselBanner.gif

CoolCarouselBanner.gif

使用说明

CarouselBanner可以设置滚动的方向,例如水平和垂直,也可以设置滚动的速度,滚动间隔时间,以及指示器的位置。CarouselBanner是普通的轮播控件,如果你想使用带有放缩效果的轮播控件,请使用CoolCarouselBanner。

代码示例

使用者需要实现图片加载的过程。

        CoolCarouselBanner banner;//with zoom effect
        //CarouselBanner
    ...
        banner = findViewById(R.id.banner);
    ...
        List<String> list = new ArrayList<>();
        OnHttp.initDefault(getApplicationContext());
        list.add("http://g.hiphotos.baidu.com/image/pic/item/b17eca8065380cd78775def0ab44ad3459828147.jpg");
        list.add("http://f.hiphotos.baidu.com/image/pic/item/a08b87d6277f9e2faa2048151530e924b899f392.jpg");
        list.add("http://b.hiphotos.baidu.com/image/pic/item/03087bf40ad162d923621d011bdfa9ec8a13cd1b.jpg");
        list.add("http://e.hiphotos.baidu.com/image/pic/item/b7fd5266d0160924d76acf06de0735fae6cd345b.jpg");
        list.add("http://a.hiphotos.baidu.com/image/pic/item/c83d70cf3bc79f3d785ce62db0a1cd11728b2969.jpg");
        list.add("http://f.hiphotos.baidu.com/image/pic/item/fcfaaf51f3deb48fd146bfc3fa1f3a292df578fb.jpg");
        banner.initBanner(list, new CarouselImageFactory() {
            @Override
            public void onLoadFactory(String url, ImageView view) {
                OnHttp.imageLoader().url(url).view(view).defaultId(R.mipmap.ic_launcher).build();
            }
        }, new OnCarouselBannerListener() {
            @Override
            public void onItemClick(int position, String url) {
                Toast.makeText(MainActivity.this, "clicked:" + position, Toast.LENGTH_SHORT).show();
            }
        });

    <!--<com.hacknife.carouselbanner.CarouselBanner-->
    <com.hacknife.carouselbanner.CoolCarouselBanner
        android:id="@+id/banner"
        android:layout_width="match_parent"
        android:layout_height="200dp"
        app:autoPlaying="true"
        app:indicatorGravity="left"
        app:indicatorSelectedSrc="#d6c2c2"
        app:indicatorUnselectedSrc="#df0000"
        app:orientation="horizontal"
        app:speedPerPixelMillisecond="0.8" />

如何配置

将本仓库引入你的项目:

Step 1. 添加JitPack仓库到Build文件

合并以下代码到项目根目录下的build.gradle文件的repositories尾。点击查看详情

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

Step 2. 添加依赖

合并以下代码到需要使用的application Module的dependencies尾。点击查看详情

    dependencies {
                ...
            compile 'com.hacknife:carouselbanner:version'
    }
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,328评论 25 709
  • 用两张图告诉你,为什么你的 App 会卡顿? - Android - 掘金 Cover 有什么料? 从这篇文章中你...
    hw1212阅读 14,515评论 2 59
  • 你像一道光 我怕挡住你 于是我躲到别处去 你找过我 最终你走到了更远的别处 远到我回头也瞧不见你 只能看见天空上隐...
    女汤阅读 2,849评论 0 0
  • 睡到自然醒是一件非常幸福的事情,关掉闹钟。睡到早上7:35醒来,已经很久没有这样的感觉。现在经常在6:20的闹钟没...
    明日之月阅读 1,823评论 0 0
  • 十里春风不如你 千山叠嶂不如你 桃之夭夭亦不如你 我还能有什么期许 荷叶尚小如钱 白衣却掠光不现 春天的桃花谢了 ...
    小苏尔阅读 1,841评论 2 1

友情链接更多精彩内容