美文网首页
RecyclerView方案打造的可见页为两页或三页的轮播控件

RecyclerView方案打造的可见页为两页或三页的轮播控件

作者: 老师好我是小明同学 | 来源:发表于2018-11-10 10:42 被阅读25次

使用

implementation 'com.vegen.open:VRecyclerViewBanner:1.1.0'

其中 '+' 请填写版本号我的Github项目地址
Download 后的最新版本

示例(kotlin)

<com.vegen.open.library.VRecyclerViewBanner
        android:id="@+id/banner_type1"
        android:layout_width="match_parent"
        android:layout_height="140dp"
        android:layout_marginTop="10dp"
        android:layout_marginBottom="10dp"
        app:centerScale="1.2"
        app:itemSpace="10"
        app:autoPlaying="true"
        app:showIndicator="false">
</com.vegen.open.library.VRecyclerViewBanner>
var bannerDataList = arrayListOf(
                "https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=1836951760,4163997228&fm=27&gp=0.jpg",
                "https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=4266268942,741349847&fm=27&gp=0.jpg",
                "https://ss2.bdstatic.com/70cFvnSh_Q1YnxGkpoWK1HF6hhy/it/u=3776651069,3057832255&fm=26&gp=0.jpg"
        )
        
var adapter = HomeBannerAdapter(bannerDataList)
banner_type1.setAdapter(adapter)
banner_type1.setCurrentIndex(1)

轮播样式的 Adapter

class HomeBannerAdapter(var bannerList: ArrayList<String>) : RecyclerView.Adapter<HomeBannerAdapter.ViewHolder>() {

    private var onBannerItemClickListener: VRecyclerViewBanner.OnBannerItemClickListener? = null

    override fun onBindViewHolder(p0: ViewHolder, p1: Int) {
        var imgUrl = bannerList[p1]
        Glide.with(p0.ivBg.context).load(imgUrl).into(p0.ivBg)
        p0.itemView.setOnClickListener {
            onBannerItemClickListener?.onItemClick(p1)
        }
    }

    override fun onCreateViewHolder(p0: ViewGroup, p1: Int): ViewHolder {
        val view = LayoutInflater.from(p0.context).inflate(R.layout.item_home_bannner, p0, false)
        return ViewHolder(view)
    }

    override fun getItemCount(): Int {
        return bannerList?.size
    }

    fun setOnBannerItemClickListener(onBannerItemClickListener: VRecyclerViewBanner.OnBannerItemClickListener) {
        this.onBannerItemClickListener = onBannerItemClickListener
    }


    class ViewHolder(itemView: View) : RecyclerView.ViewHolder(itemView) {
        var ivBg: ImageView
        var tvName: TextView

        init {
            tvName = itemView.findViewById(R.id.tv_name)
            ivBg = itemView.findViewById(R.id.iv_bg)
        }
    }
}

demo 效果如下


demo.gif

相关属性

属性名称 方法 意义 类型 默认值
app:showIndicator setShowIndicator(boolean showIndicator) 是否显示指示器 boolean false
app:interval setAutoPlayDuration(int autoPlayDuration) 轮播时间间隔 int 4000
app:isAutoPlaying setAutoPlaying(boolean isAutoPlaying) 是否开启自动轮播 boolean true
app:orientation setOrientation(int orientation) 轮播图方向 enum horizontal
app:itemSpace setItemSpace(int itemSpace) 图片间距 int 20
app:centerScale setCenterScale(float centerScale) 当前图片缩放比列 float 1.2
app:moveSpeed setMoveSpeed(float moveSpeed) 滚动速度,越大越快 float 1.0
app:showItemCount setShowItemCount(int count) 可视范围内显示的个数 enum THREE
app:firstItemMarginLeft setFirstItemMarginLeft(float marginLeft) 第一个 item 的左边距,showItemCount=TWO 时才生效的属性 dimension 0dp

项目地址

Github项目地址:https://github.com/Vegen/VRecyclerViewBanner

致谢
RecyclerBanner 参考了部分源码

相关文章

  • RecyclerView方案打造的可见页为两页或三页的轮播控件

    使用 其中 '+' 请填写版本号我的Github项目地址Download 后的最新版本 示例(kotlin) 轮播...

  • Android viewPager实现banner轮播

    用什么来实现轮播: 在比较常见的主流控件里面,其实 ViewPager 和 RecyclerView 已经实现了类...

  • 十分钟写一个Android轮播控件

    轮播控件的组成部分 我们以知乎日报Android客户端的轮播控件为例,分析一下轮播控件的主要组成: 首先我们要有用...

  • 安卓开发入门教程-UI控件_RecyclerView

    什么是RecyclerView RecyclerView是当前主流用于显示列表的UI控件. 基础样例 效果图 方案...

  • 那个同桌的你,还好吗?

    时光被我一页两页三页翻过。蓝天还是蓝天,依然还是那么的蓝;阳光还是阳光,依然还是那么的刺眼;但他,依然还在吗……—...

  • 青春是本薄薄的书

    文/红果 青春是本薄薄的书 一页、两页、三页…… 禁不起翻阅 禁不起诵读 读到最后一页的时候 时光再也无法驻足 青...

  • 常用控件的热点问题

    RecyclerView RecyclerView是android5.0新出的控件Adapter 托管数据集合,为...

  • 欲言又止的日子

    时常想记录当下的心境,可是寥寥三页纸,两页是孤单! 你总说日子还是要有点盼头,万一好起来了呢! ...

  • 刘一鸣暑假作业完成情况

    81.暑假生活指导:语文完成九页;数学完成11页;英语完成三页;探究完成两页。 2.数学举一反三、字母表示数的应用...

  • 2017-09-04

    【超级贝贝】2017.9.3学习力践行day111 1.《贴纸书思维》三页。 2.逻辑狗正反两页。 3.《手指谣》...

网友评论

      本文标题:RecyclerView方案打造的可见页为两页或三页的轮播控件

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