Метод setLayoutManager
Метод setLayoutManager класса
RecyclerView
принимает LayoutManager.
Чаще ставят
LinearLayoutManager
для столбца или
GridLayoutManager
для сетки.
Без layout manager adapter не рисует пункты.
Синтаксис
recyclerView.layoutManager = LinearLayoutManager(context)
Параметры
| Параметр | Описание |
|---|---|
layoutManager |
Объект RecyclerView.LayoutManager
или null.
|
Пример
Давайте сделаем вертикальный список:
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val list = findViewById<RecyclerView>(R.id.list)
list.setLayoutManager(LinearLayoutManager(this))
list.adapter = SimpleAdapter(listOf("abcde", "12345"))
}
}
На экране пункты встанут друг под другом и будут прокручиваться вертикально.
Пример
Давайте разложим пункты сеткой в две колонки:
import android.os.Bundle
import androidx.appcompat.app.AppCompatActivity
import androidx.recyclerview.widget.GridLayoutManager
import androidx.recyclerview.widget.RecyclerView
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
val list = findViewById<RecyclerView>(R.id.list)
list.setLayoutManager(GridLayoutManager(this, 2))
list.adapter = SimpleAdapter(listOf("abcde", "12345", "abcde", "12345"))
}
}
На экране пункты появятся в две колонки сеткой.
Смотрите также
-
класс
LinearLayoutManager,
столбец или ряд пунктов -
класс
GridLayoutManager,
сетка с заданным числом колонок -
метод
setAdapter,
который подключает данные после layout manager -
класс
RecyclerView,
у которого меняют схему раскладки