Kotlin项目中使用ConvenientBanner实现轮播图

前言:Banner(轮播图),对于Android开发者来说并不陌生,市面上的APP基本都集成了banner这一功能,我们公司的项目也不例外。kotlin,我们也不陌生了,随着Google 在2017 IO大会上宣布Kotlin正式被作为Android开发的官方语言以来,使用kotlin开发的项目也逐渐多了起来。本文只是记录下本人在kotlin项目中的ConvenientBanner的使用。

1.项目集成

在build.gradle(Model:app)的dependencies下添加convenientBanner的依赖

implementation 'com.bigkoo:convenientbanner:2.0.5'

2.布局使用

<com.bigkoo.convenientbanner.ConvenientBanner
    android:id="@+id/convenient_banner"
    android:layout_width="match_parent"
    android:layout_height="200dp"
    android:src="@mipmap/ic_launcher"
    app:canLoop="true">

</com.bigkoo.convenientbanner.ConvenientBanner>

3.代码实现

(1)定义banner

private lateinit var mBanner:ConvenientBanner<Int>
注:此处和java有些区别,kotlin需要带参数类型

java定义:ConvenientBanner mBanner

kotlin定义:var mBanner:ConvenientBanner<Int> >>>>int加载本地的res下的图片资源

(2)初始化及设置
//轮播图
mBanner=headView.findViewById(R.id.convenient_banner)
mBanner
        .setPages( { BannerImageHolderView() }, DataUtil.getBannerList())
        //设置两个点图片作为翻页指示器,不设置则没有指示器,可以根据自己需求自行配合自己的指示器,不需要圆点指示器可用不设
        .setPageIndicator(intArrayOf(R.drawable.banner_point_select, R.drawable.banner_point_normal))
        //设置指示器的方向
        .setPageIndicatorAlign(ConvenientBanner.PageIndicatorAlign.CENTER_HORIZONTAL)
        //设置轮播时间间隔
        .startTurning(2000)

注:kotlin中可以直接用对控件进行设置参数(如:tv_message.text="测试"),但此处需通过findViewById(id:Int)先获取bannner,再进行设置参数,不然会报错。


4.创建BannerImageViewHolder

/**
 * Created by ruancw on 18/4/24.
 * 本地图片加载例子
 */
class BannerImageHolderView : Holder<Int> {
    private var imageView: ImageView? = null
    override fun createView(context: Context): View {
        //此处可以根据需求创建任何你想要的布局,不一定是imageView控件
        imageView = ImageView(context)
        imageView!!.scaleType = ImageView.ScaleType.FIT_XY
        return imageView as ImageView
    }

    override fun UpdateUI(context: Context, position: Int, data: Int) {
        imageView!!.setImageResource(data)
        //Glide.with(context).load(data).into(imageView!!)
    }
}
后记:convenientBanner是一个很不错的轮播图控件,项目中一直有在使用,使用也比较简单,下面是github上的convenientBanner的链接地址: https://github.com/saiwu-bigkoo/Android-ConvenientBanner

至此,convenientBanner在kotlin中的使用就结束了,不足之处欢迎指正!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值