Класс LinearLayoutManager
Класс LinearLayoutManager
наследует RecyclerView.LayoutManager
и ставит пункты в один столбец или ряд.
Передают в
setLayoutManager.
Вертикальный режим - по умолчанию,
горизонтальный включают константой
LinearLayoutManager.HORIZONTAL.
Синтаксис
val manager = LinearLayoutManager(context)
recyclerView.layoutManager = manager
Пример
Давайте подключим вертикальный LinearLayoutManager:
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.layoutManager = LinearLayoutManager(this)
list.adapter = LineAdapter(listOf("abcde", "12345"))
}
}
На экране пункты списка встанут друг под другом.
Пример
Давайте прокрутим пункты по горизонтали:
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.layoutManager = LinearLayoutManager(
this,
LinearLayoutManager.HORIZONTAL,
false,
)
list.adapter = LineAdapter(listOf("abcde", "12345"))
}
}
На экране строки списка выстроятся в горизонтальный ряд с прокруткой вбок.
Смотрите также
-
класс
GridLayoutManager,
сетка вместо одной линии -
метод
setLayoutManager,
которым ставят manager на список -
класс
LinearLayout,
похожая идея ряда в XML layout -
класс
RecyclerView,
который использует LinearLayoutManager