Adapter
class Adapter(private val liveList: ArrayList<Information>): RecyclerView.Adapter<Adapter.ViewHolder>(){
@SuppressLint("InflateParams")
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): Adapter.ViewHolder {
val view = LayoutInflater.from(parent.context).inflate(R.layout.local_pictrues_cell,null)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: Adapter.ViewHolder, position: Int) {
holder.itemView.imageview.setImageResource(liveList[position].image)
}
override fun getItemCount(): Int {
return liveList.size
}
inner class ViewHolder(itemView: View):RecyclerView.ViewHolder(itemView){
}
}
在界面中调用
@SuppressLint("WrongConstant") override fun onViewCreated(view: View, savedInstanceState: Bundle?) { super.onViewCreated(view, savedInstanceState) addImageList() val adapter = Adapter(images) // 第一个参数为context 第二个参数为设置为两行,第三个参数为设置展示方向 val layoutManager = GridLayoutManager(requireContext(), 2, GridLayoutManager.HORIZONTAL, false) // 设置layoutManager的元素占比 layoutManager.spanSizeLookup = object : GridLayoutManager.SpanSizeLookup() { override fun getSpanSize(position: Int): Int { return when (position) { // 0为第一个元素 2为独占两行 0 -> 2 else -> 1 } } } recycler_view.adapter = adapter recycler_view.layoutManager = layoutManager }
实现效果