로그인 바로가기 하위 메뉴 바로가기 본문 바로가기
난이도
심화

안드로이드 앱 프로그래밍

임시 이미지 정재곤
http://www.boostcourse.org/mo316/notice/2553
좋아요 1439 수강생 20255
 
아래의 글은 BOOSTER 서포터즈로 활동했던 zhfpt***님이
작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
1)링크: https://blog.naver.com/zhfptm12/221790580901
2)작성날짜: 20/01/30
<본문작성>

프로젝트를 처음 만들면 XML 파일에는 제약 레이아웃이 기본적으로 들어있습니다.

03강-2)에서는 이 제약 레이아웃에 대해서 강의하고 있습니다.

이번 차례에서는 제약 레이아웃에 대해서 써보겠습니다.

​

강의 출처 - https://www.edwith.org/boostcourse-android/lecture/17040/

[LECTURE] 2) 제약 레이아웃 (ConstraintLayout) : edwith

들어가기 전에 프로젝트를 만들었을 때 XML 레이아웃 파일 안에는 자동으로 만들어진 레이아웃이 들어있게 됩니다. 화면 전체를 표현하는 레이아웃으로 제약 레이아웃이라는 것이 자동으로... - 부스트코스

www.edwith.org

제약 레이아웃이 무엇인지, 또 그 사용 방법에 대해서 알아보겠습니다.

​

제약 레이아웃(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는 움직이지 않을 것이라고 생각합니다.

 

*********************************************