Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[2023-02-02] 안드로이드 사전 과제 - 정보영 #50

Open
maestro214 opened this issue Feb 2, 2023 · 0 comments
Open

[2023-02-02] 안드로이드 사전 과제 - 정보영 #50

maestro214 opened this issue Feb 2, 2023 · 0 comments

Comments

@maestro214
Copy link

1. ConstraintLayout의 주요 특징을 학습하고 정리해주세요.

  • 복잡한 레이아웃 계측 구조를 단순히 구성하여 작성할 수 있다.
  • 자식뷰 간의 상호관계를 정의가능하다.
  • RelativeLayout의 "상대적인 위치 관계", LinearLayout의 "가중치", Chain의 "요소 그룹화" 등의 특징을 갖고 있다.

2. XML에서 활용할 수 있는 Layout은 LinearLayout, RelativeLayout 등 여러 종류가 있습니다. Layout을 선택하는 기준과 현재는 ConstraintLayout으로 대체가 된 이유를 함께 설명해주세요.

LinearLayout은 가장 간단하게 배치가 가능하지만 수직, 수평 정도로만 활용되어 복잡한 화면일 수록 뷰간 깊이가 높아져서 구성하기 힘들어 지며 가독성 또한 더욱 떨어지게 되며 결국 성능면에서 떨어진 느낌이다.
RelativeLayout은 성능면에서 우수하지만 뷰들간 배치 속성이 많고 복잡도가 높다는 단점이 있다
이 두 레이아웃간에 장점을 활용한 레이아웃 ConstraintLayout이다.
ConstraintLayout은 플랫 뷰 계층 구조(중첩 뷰 그룹이 없음)로 크고 복잡한 레이아웃을 만들 수 있다.
또한 동적이 레이아웃 즉 굉장히 복잡한 중첩 계층 구조에서 뭔가 움직이려면 많은 이슈들이 발생하게 되는데 이런 ConstraintLayout을 이용하여 단순한 레이아웃 구조로 잡게 되면 작업하기가 상당히 쉬워지기 때문에 ConstraintLayout을 사용하는 추세이다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant