작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
1)링크: https://blog.naver.com/zhfptm12/221790580901
2)작성날짜: 20/01/30
프로젝트를 처음 만들면 XML 파일에는 제약 레이아웃이 기본적으로 들어있습니다.
03강-2)에서는 이 제약 레이아웃에 대해서 강의하고 있습니다.
이번 차례에서는 제약 레이아웃에 대해서 써보겠습니다.
강의 출처 - https://www.edwith.org/boostcourse-android/lecture/17040/
제약 레이아웃이 무엇인지, 또 그 사용 방법에 대해서 알아보겠습니다.
제약 레이아웃(ConstaintLayout)
프로젝트를 새로 만들게 되면 res - layout - activity_main.xml 이 자동으로 만들어져있습니다. 이 xml에는 ConstraintLayout이
들어가 있습니다.
위 사진의 흰색 네모는 "핸들"이라고 부르고, 동그라미는 앵커 포인트라고 부릅니다.
핸들은 해당 버튼의 크기를 조절하고, 앵커 포인트는 다른 것과 연결합니다.
앵커 포인트
버튼의 위쪽 앵커 포인트를 위쪽의 벽에 갖다 붙이게 되면, 아래 사진처럼 위쪽 벽에 붙게 됩니다.
버튼을 클릭하게 되면, 아래의 사진처럼 margin과 width, height 와 같이 여러 속성을 조절할 수 있는 창이 뜹니다.
빨간색 박스에서 margin 값을 결정할 수 있습니다.
margin 이란 위젯(Button)이 부모 레이아웃(ConstraintLayout)의 테두리로부터의 여백을 말합니다.
파란색 박스에 id를 결정할 수 있는데, id는 해당 위젯에 이름을 부여하는 것과 같습니다. id는 나중에 중요하게 사용됩니다.
여기까지 이번 강의에서 배운 내용을 정리해보았습니다. 이번 강의의 <생각해보기>를 적고 마치겠습니다.
<생각해보기>
1. 레이아웃 안에 레이아웃을 넣는 방식으로 3~4개의 레이아웃을 중첩시켜 넣은 후 그 안에 버튼을 넣으면 하나의 레이아웃 안에 버튼을 넣었을 때와 다른 점이 있을까요? 어떤 경우에 이렇게 만들까요?
- ConstraintLayout을 보면 앵커 포인트라는 것으로 버튼을 레이아웃에 연결할 수 있습니다. 중첩 시켜 넣은 경우 이 기능을 활용하여 상황에 맞게 다른 레이아웃에 연결해 사용하므로 위치 또한 변화를 줄 수 있습니다. 이러한 다른 점이 있다고 생각합니다.
- 레이 아웃별로 기능이 다 다릅니다. 각 레이아웃의 기능에 맞게 버튼을 사용해야 할 경우 이렇게 만들어서 사용할 거 같습니다.
2. 제약 레이아웃 안에 두 개의 버튼을 넣고 하나의 버튼을 다른 버튼과 연결하여 위치시키면 하나의 버튼을 움직였을 때 다른 버튼도 따라 움직일까요?
- 버튼 A 와 버튼 B가 있을 때, 만약 A의 앵커 포인트를 이용하여 B에 연결했다면, B를 움직이면 A가 따라옵니다. 하지만 A를 움직였을 때는 B는 움직이지 않을 것이라고 생각합니다.