We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
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
ConstraintLayout
RelativeLayout
Top
Bottom
Start
End
LinearLayout
TableLayout
GridLayout
이유는, 구글에서 ConstraintLayout을 소개한 이후로, 아낌없는 지원을 이어갈 뿐만 아니라 비율에 따른 View 크기 조정, 성능적인 부분에서 향상된 퍼포먼스를 얻을 수 있는 이점이 있기 때문이라고 할 수 있다.
레이아웃을 그리는 과정 내의 모든 단계에서는 View 트리에 대한 하향식 탐색을 필요로 하는데, 이 때 개발자가 작성한 레이아웃 코드에 따라서 View의 계층이 높을 수, 더 많은 탐색을 진행하기 위해, 많은 연산과 시간을 필요로 하게 된다.
하지만, ConstraintLayout을 사용함으로써, 위에 작성한 특징과 같이 복잡하고 큰 레이아웃 구조이더라도 Flat한 View 계층 구조를 가진 레이아웃을 작성할 수 있다. 따라서 성능적인 부분에서 이점을 가져올 수 있다.
The text was updated successfully, but these errors were encountered:
No branches or pull requests
1. ConstraintLayout의 주요 특징을 학습하고 정리해주세요.
ConstraintLayout
을 사용하면 Flat한 뷰 계층 구조로 크고 복잡한 레이아웃을 만들 수 있습니다. (중첩되는 뷰 그룹이 없는 계층 구조)RelativeLayout
과 비슷하지만, 더 유연하고 사용하기 쉽습니다.Top
,Bottom
,Start
,End
에 대해서 어느 View와 Layout에 제약을 걸어 레이아웃을 쉽게 배치할 수 있다.2. XML에서 활용할 수 있는 Layout은 LinearLayout, RelativeLayout 등 여러 종류가 있습니다. Layout을 선택하는 기준과 현재는 ConstraintLayout으로 대체가 된 이유를 함께 설명해주세요.
[Layout을 선택하는 기준]
LinearLayout
을 사용한다.RelativeLayout
을 사용한다.TableLayout
, 격자 모양을 나타낼 때GridLayout
을 사용하는 방법 등이 있다.[ConstraintLayout으로 대체가 된 이유]
이유는, 구글에서
ConstraintLayout
을 소개한 이후로, 아낌없는 지원을 이어갈 뿐만 아니라 비율에 따른 View 크기 조정, 성능적인 부분에서 향상된 퍼포먼스를 얻을 수 있는 이점이 있기 때문이라고 할 수 있다.제약 조건에 따라 View의 크기를 조정할 수 있어서 고정적인 크기 값을 주지 않고, 여러 기기에서 호환되고 통일되는 레이아웃을 작성할 수 있다.
성능적인 부분에서 어떻게 향상된 퍼포먼스를 어떻게 얻을 수 있을까 ?
레이아웃을 그리는 과정 내의 모든 단계에서는 View 트리에 대한 하향식 탐색을 필요로 하는데, 이 때 개발자가 작성한 레이아웃 코드에 따라서 View의 계층이 높을 수, 더 많은 탐색을 진행하기 위해, 많은 연산과 시간을 필요로 하게 된다.
하지만, ConstraintLayout을 사용함으로써, 위에 작성한 특징과 같이 복잡하고 큰 레이아웃 구조이더라도 Flat한 View 계층 구조를 가진 레이아웃을 작성할 수 있다. 따라서 성능적인 부분에서 이점을 가져올 수 있다.
The text was updated successfully, but these errors were encountered: