안드로이드/JetPack Compose

[android/안드로이드] JetPack Compose Row Layout

최효식 2022. 7. 19. 13:27

 

 

 

  • Row Layout 이란?

기존 xml에 익숙해져있는 분들을 위해서 표현하자면 LinearLayout 에서 orientation = horizontal 한것과 유사하다고 생각하면 됩니다.

 

Row 의 내부구조를 살펴보겠습니다.

매개변수로 받는 4개의 변수에 대해 알아보겠습니다.

 

1. modifier : 해당 layout의 크기,모양 등을 설정하는 변수이며 사용자의 입력도 처리합니다.

2. horizontalArrangement : layout 안에서 content 들의 수평배치를 어떤식으로 할건지 설정하는 변수입니다.

3. verticalAlignment : layout 안에서 content 들의 수직배치를 어떤식으로 할지 설정하는 변수입니다.

4. content : 해당 layout 안에 포함되는 모든 위젯을 가리킵니다. 

 

 

  • Row Layout 의 특징

가장 중요한 특징으로는 수평배치의 특성이 6가지가 있다는 점이다.

  • Start
  • Center
  • End
  • SpaceBetween
  • SpaceAround
  • SpaceEvenly
  1. Start

 

2. Center

 

 

3. End

 

 

4. SpaceBetween

 

컴포넌트 사이 간격은 같고, 양 끝은 딱 붙입니다.

 

 

5. SpaceAround

 

 

컴포넌트 사이 간격은 같고, 양끝은 컴포넌트 간격의 절반 만큼 줍니다.

 

6. SpaceEvenly

 

컴포넌트 사이 간격이 같고 , 양끝도 컴포넌트 사이 간격으로 줍니다.

 

 

  • 수직 배치 같은경우는 Top , Bottom , CenterVertically 3가지를 줄 수 있습니다.

 

1. Top

 

 

2. Bottom

 

 

3. CenterVertically

 

 

 

  • 마지막으로 Content 에 대해 알아봅시다.

 

위에서 설명했듯 람다식 안에 포함된 모든 위젯을 가리킵니다.

위의 사진에서 Text Row1~Row3 이 해당됩니다.