Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
377 of 502 menu
◀ ▶

Класс 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
← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить