Android foundation three: the use of RecyclerView components

Table of contents

Series Article Directory

foreword

Two, GridLayoutManager grid layout

3. StaggeredGridLayoutManager waterfall flow layout

Summarize 


Series Article Directory

Android foundation 1: Android UI basic container https://blog.csdn.net/m0_58941767/article/details/127726407?spm=1001.2014.3001.5501

Android foundation two: several common components https://blog.csdn.net/m0_58941767/article/details/128004641?spm=1001.2014.3001.5501


foreword

In this section, we will briefly introduce the RecyclerView component. RecyclerView is an important advanced UI control for Android . It is used so frequently that more than 90% of the pages of the APP will be used. Due to its excellent performance and pluggable architecture design, it has been unanimously praised by developers all over the world.


1. LinerLayoutManager list layout

1. Horizontal list

recyclerView.layoutManager =LinearLayoutManager(context, HORIZONTAL,
false)
recyclerView.adapter = MyAdapter()

2. Vertical list

recyclerView.layoutManager =LinearLayoutManager(context, VERTICAL, false)
recyclerView.adapter = MyAdapter()

3. Resource adapter

inner class MyAdapter : RecyclerView.Adapter<ViewHolder>() {
 // 【必须复写】创建 ItemView 的 ViewHolder,用于后续的数据绑定
 override fun onCreateViewHolder(parent: ViewGroup, viewType: Int):
ViewHolder {
 val view
=LayoutInflater.from(context).inflate(R.layout.item_view_staggered,
parent, false) 
 return ViewHolder(view)
 }
 // 【必须复写】告诉 RecyclerView 列表上 item 的条数
 override fun getItemCount(): Int {
 return 20
 }
 // 【必须复写】item 的数据绑定
 override fun onBindViewHolder(holder: ViewHolder, position: Int) {
 
holder.itemView.item_head.setImageResource(R.drawable.icon_jetpack)
 holder.itemView.item_name.text = "【${position}】移动端架构师体
系课"
 holder.itemView.item_message.text =
 "移动开发“两极分化”,没有差不多的“中间层,唯有尽早成长为架构师,
你的职业道路才能走的更远更稳"
 }
 }
 // 创建一个 ViewHolder 必须继承自 RecyclerView.ViewHolder。用于后续的数据
绑定
inner class ViewHolder(itemView: View) :
RecyclerView.ViewHolder(itemView) {
 }

 

Two, GridLayoutManager grid layout

recyclerView.layoutManager = GridLayoutManager(context, 2)
recyclerView.adapter = MyAdapter()

 Three, StaggeredGridLayoutManager waterfall flow layout

recyclerView.layoutManager =StaggeredGridLayoutManager(2, VERTICAL)
recyclerView.adapter = MyAdapter()

Summarize 

Guess you like

Origin blog.csdn.net/m0_58941767/article/details/128225562