RecyclerView item独占一行实现


核心代码:

GridLayoutManager manager = new GridLayoutManager(context, 4);
        manager.setSpanSizeLookup()

 

 

  class SpanSizeLoop(var imageAdapter: MainListAdapter?,var spanCount: Int) : GridLayoutManager.SpanSizeLookup() {
        override fun getSpanSize(position: Int): Int {
            Logger.e("getSpanSize........${position}")
            return if (imageAdapter?.getItem(position)?.itemTypes == 1) spanCount else 1
        }
    }

 

recycler.run {
            var llManager = GridLayoutManager(SampleApplicationLike.context,SPAN_COUNT,RecyclerView.VERTICAL,false)
            imageAdapter = MainListAdapter(SampleApplicationLike.context,getTestData(),calcImageWidth())
            adapter = imageAdapter
            // 需要先设置adapter
            llManager.spanSizeLookup = SpanSizeLoop(imageAdapter,SPAN_COUNT)
            layoutManager = llManager
            addItemDecoration(RecyclerViewGridItemDecoration(dividerWidth,Color.WHITE,RecyclerView.VERTICAL))
            adapter?.notifyDataSetChanged()
        }

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM