Kwaang Tech

[Android] LinearLayout, ConstraintLayout 본문

Dev/Study

[Android] LinearLayout, ConstraintLayout

콰앙 2023. 9. 1. 11:40

LinearLayout

  • 수평 또는 수직 방향으로 컴포넌트를 배열하는 레이아웃
  • android:orientation 속성을 사용하여 수평(horizontal) 또는 수직(vertical)으로 설정할 수 있음
  • 컴포넌트는 순차적으로 배치
  • android:layout_weight 속성을 사용하여 각 컴포넌트의 크기를 가중치를 통해 조절할 수 있음

ConstraintLayout

  • 유연하고 복잡한 레이아웃 설계를 가능하게 해주는 최신 레이아웃
  • 컴포넌트 간의 제약 조건(Constraints)을 정의하여 위치와 크기를 결정함
  • 여러 레이아웃의 중첩을 줄이고 복잡한 디자인을 단순화하는 데 유용함
  • Android Studio의 레이아웃 에디터에서는 드래그 앤 드롭 방식으로 컴포넌트의 제약 조건을 쉽게 설정할수도 있음

두 레이아웃의 차이점

  1. 복잡성: LinearLayout은 단순한 구조로 일렬로 배열되지만, ConstraintLayout은 복잡한 레이아웃을 표현할 수 있음
  2. 성능: ConstraintLayout은 중첩된 레이아웃을 줄일 수 있기 때문에 렌더링 성능이 더 좋을 수 있음. 중첩된 레이아웃은 렌더링 시간이 더 걸리므로 성능에 영향을 줌
  3. 유연성: ConstraintLayout은 컴포넌트 간의 상대적인 위치를 정의하기 위해 제약 조건을 사용하므로 더 유연한 레이아웃 디자인이 가능
  4. 사용성: LinearLayout은 사용하기 쉬우나 기능이 제한적이다. ConstraintLayout은 기능이 풍부하지만 처음 사용할 때는 학습 곡선이 있을 수 있음

필요와 환경에 따라 적절한 레이아웃을 선택하여 사용하자

반응형