Как отобразить RecyclerView плиткой по два элемента?
Есть список объектов, отображаемый ресайклером. Выводится он элемент за элементом в столбик. Я же хотел бы сделать так, что бы список отображался по два элемента в столбик. Пример на скрине:
Не знаю, стоит ли код адаптера сюда прикреплять, так как он шаблонный. Но вот, написано грязновато, потом рефакторить буду.
class RecyclerViewAdapter(context: Context,
var imageList: ArrayList<ImageObject>,
private val onImageClickListener: OnImageClickListener) :
RecyclerView.Adapter<RecyclerViewAdapter.ViewHolder>() {
private val inflater: LayoutInflater = LayoutInflater.from(context)
interface OnImageClickListener {
fun onWorkClick(workData: ImageObject, position: Int)
}
override fun onCreateViewHolder(parent: ViewGroup, viewType: Int): ViewHolder {
val view: View = inflater.inflate(R.layout.item_images_view, parent, false)
return ViewHolder(view)
}
override fun onBindViewHolder(holder: ViewHolder, position: Int) {
val imageObject: ImageObject = imageList[position]
holder.bind(imageObject, holder, onImageClickListener)
}
override fun getItemCount(): Int {
return imageList.size
}
class ViewHolder constructor(view: View) : RecyclerView.ViewHolder(view) {
private val thumbnail: ImageView = view.findViewById(R.id.thumbnail)
fun bind(imageObject: ImageObject, holder: ViewHolder, onImageClickListener: OnImageClickListener) {
//Glide.with(itemView).load("SOME URL").into(thumbnail)
Glide.with(itemView).load(R.drawable.ic_launcher_foreground)
.thumbnail(0.5f)
.diskCacheStrategy(DiskCacheStrategy.ALL)
.into(thumbnail);
/*holder.thumbnail.setOnClickListener {
//onImageClickListener.onWorkClick(workData, adapterPosition)
*/
}
}
}```
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Не помешал бы код того места где лежит данный виджет. Но вообще нужно сетить определенного типа LayoutManager:
rvList.layoutManager = GridLayoutManager(context, 2)
где 2 это кол-во колонок. Это необходимо сделать перед привязки адаптера к списку. Вот здесь можно более подробно посмотреть, а здесь туториал есть.
