개발일지

Android in A..Z - RecyclerView (Layout Manager) 본문

Android (안드로이드)/RecyclerView

Android in A..Z - RecyclerView (Layout Manager)

강태종 2021. 1. 10. 04:25

Layout Manager

RecyclerView에 Layout을 관리하는 클래스이다.


종류

  • LinearLayoutManager : 수평, 수직으로 ViewHolder를 표현한다.
  • GridLayoutManager : 격자판 형식으로 ViewHolder를 표현한다.
  • StaggeredGridLayoutManager : 높이가 불규칙한 격자판 형식으로 ViewHolder를 표현한다.
  • FlexBoxLayoutManager : 반응형으로 ViewHolder를 표현한다.

LinearLayoutManager

LinearLayoutManager

Programming

recyclerview.layoutManager = LinearLayoutManager(context) // 수직
recyclerview.layoutManager = LinearLayoutManager(context, LinearLayoutManager.HORIZONTAL, false) // 수평

XML

<androidx.recyclerview.widget.RecyclerView
	android:id="@+id/recyclerView"
	android:layout_width="0dp"
	android:layout_height="0dp"
	android:orientation="vertical"
	app:layoutManager="androidx.recyclerview.widget.LinearLayoutManager" />

 


GridLayoutManager

GridLayoutManager

Programming

recyclerview.layoutManager = GridLayoutManager(context, spanCount)

XML

<androidx.recyclerview.widget.RecyclerView
	android:id="@+id/recyclerView"
	android:layout_width="0dp"
	android:layout_height="0dp"
	app:layoutManager="androidx.recyclerview.widget.GridLayoutManager"
	app:spanCount="3" />

StaggeredGridLayoutManager


FlexBoxLayoutManager

구글에서 만든 반응형 LayoutManager이다.

git


Git (예제코드)

github.com/KangTaeJong98/Example/tree/main/Android/RecyclerView


이미지 참고

StaggeredGridLayoutManager

stackoverflow.com/questions/29642389/no-good-example-about-recyclerview-and-staggeredgridlayoutmanager-in-android-doc

FlexBoxLayoutManager

github.com/google/flexbox-layout

Comments