작성한 부스트코스 후기입니다.
여러분들의 성원에 더 노력하는 부스트코스가 되겠습니다.
감사합니다.
******************************************
1)링크: https://blog.naver.com/gina108/221819655019
2)작성날짜: 20/02/22
나는 안드로이드 스튜디오가 너무 싫어졌다.. 새로운 프로젝트 생성에 오류가 생기는데, 이를 해결하지 못해서 다음단계로 넘어가지 못하고 있다.
Unable to resolve dependency for ':app@debugAndroidTest/compileClasspath': Could not find any version that matches com.android.support:appcompat-v7:29.+.
오류는 위와같이 한 5개가 나온다..
일단 구글링을 통해 이것저것 수정해봤지만 실패했다!
그래서 그냥 강의를 정리하는 형태로 진행하려고 한다.
이번 강의에서는 제약 레이아웃과 관련된걸 배우는데, 제약 레이아웃은 처음에 프로젝트 생성시 생기는 레이아웃 이다.
먼저 프로젝트를 새로 생성하고 알아서 생성되는 activity_main.xml파일을 열어본다.
열면 왼쪽 아래에 component tree라고 있는데, 여기 layout이 하나 생성되어 있을 것이다..
이걸 누르고, palette에서 button을 하나 drag and drop해서 layout에 올려보자.
버튼을 클릭하면 네 모서리에는 네모난 사각형이있고, 가운데에는 깜빡거리는 동그란 점이 생긴다. 이 네모는 핸들이라고 부르고, 동그란 점은 연결점(앵커 포인트)라고 한다. 이 앵커 포인트를 이용하면 요소들을 서로 연결시킬 수 있는데, 이 연결이 Constraint가 된다고 한다..
연결을 생성하면, Properties에 가면 제약조건이 생성되고, 여기서 margin을 변경할 수 있는데, 이들을 수치로 이용해 그 위치를 조절할 수 있게 된다. 만약 버튼을 레이아웃의 왼쪽과 위쪽에 연결하면, 버튼의 위치는 margin을 설정하면 자동적으로 결정되게 된다.
이런식으로 여러 요소들(view들)을 연결하여 위치를 지정해 줄 수 있다.
design모드에서 자석모양이 있는데, 자석모양을 활성화시키면 연결선이 자동으로 생성된다. 직접 연결선을 생성할 때, 연결선을 좌,우 혹은 상하에 둘다 연결한다면 알아서 가운에데 view가 위치하게 된다. 상하 좌우를 연결하면 bias가 생기게 되는데, 이건 margin을 변경하지 않고, view의 위치를 결정해준다.
연결선은 따라서, view혹은 부모 layout에 연결할 수 있다.
button을 추가하다보면, Component treee에 button, button1, button2등으로 나열되어있는 것을 볼 수 있는데, id가 자동적으로 unique하게 부여되기 때문에 발생하는 일이다. 이 id는 직접 수정하고 변경할 수 있으므로 원하는 id로 변경시켜도 된다. id는 중복되면 안되기 때문에 다른 프로젝트와 연결하거나 하는 경우에 중요하게 사용되므로 직접 부여할 시 주의해야 한다.
[출처] [부스트코스] 안드로이드 프로그래밍 - 제약 레이아웃|작성자 즐거운양서류