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