안드로이드 전체

.2 레이아웃

강용민 2021. 8. 4. 16:23

안드로이드 UI 컴포넌트의 종류와 특성, 사용법을 정확히 이해하고 사용하는 것은 중요한 일이다.

특시, 뷰 위젯을 화면에 배치하기 위해 사용하는 레이아웃은 화면 구성이 복잡할수록, 또 사용되는 뷰 위젯의 개수가 많을수록, 어떤 종류의 레이아웃을 선택하는지가 화면 구성 시간, 동작 성능, 유지보수 등에 영향을 줄 수 있다.

 

과거에는 여러 종류의 레이아웃을 중첩하여 UI를 구성하는 경우가 많았지만 그 경우 성능과 유지보수 측면에서 효율적이지 못해 현재는 중첩하지 않고 유연한 방법으로 뷰 위젯들을 배치할 ㅜㅅ 있는 레이아웃이 만들어지게 되었다.

RelativeLayout의 "상대적 위치 관계에 따른 배치"특성에 LinearLayout의 "가중치(Weight)가 가진 장점"을 적용하고, 체인(Chain) 사용으로 다른 레이아웃 없이 "요소들을 그룹화"할 수 있는, 그리고 그 동안 레이아웃 에디터를 적극 활용하여 좀 더 쉽고 빠르게 화면을 구성할 수 있게 만들어주는 레이아웃이 ConstraintLayout이다.


ConstraintLayout Class

ConstraintLayout은 레이아웃 구성 시, 뷰 위젯의 위치와 크기를 유연하게 조절할 수 있게 만들어주는 레이아웃이다.

ConstratinLayout이 어떠한 방식으로 레이아웃 배치의 유연함을 제공하는지는, "Constraint"라는 단어의 의미를 보면 알 수 있다.

ConstraintLayout은 Layout에 배치되는 View들에 여러 제약(Constratint)을 적용하여 각 View의 위치와 크기를 결정한다.

여기서 말하는 '제약'은 각 요소들의 최종 위치와 크기를 결정하게 될 조건, 예를 들어 특정 VIew왼쪽 사이드를 지정된 View의 오른쪽 사이드에 맞추거나 하는 등을 말하며, 이러한 각각의 제약(Constraint)은 ConstratintLayout이 가지는 하나의 Layout property로 Mapping됩니다.


 

'안드로이드 전체' 카테고리의 다른 글

안드로이드 컴포넌트  (0) 2021.08.06
안드로이드 컴포넌트-Activity  (0) 2021.08.06
1.안드로이드 컴포넌트 4가지  (0) 2021.08.04
코루틴 개념  (0) 2021.08.04
안드로이드 컴포넌트 - Service  (0) 2021.08.04