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

안드로이드 앱 프로그래밍

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

3. 제약 레이아웃

​

1) 뷰의 속성

​

생각해보기

​

버튼에는 얼마나 많은 속성이 들어 있을까요?

- 뷰에서 사용할 수 있는 속성과 버튼에서 사용할 수 있는 속성을 사용 할 수 있습니다.

​

버튼이 텍스트뷰를 상속받아 만들어진 것이라면 버튼을 텍스트뷰라고 말할 수 있는 걸까요?

- 버튼이 텍스트 뷰를 상속 받아서 만들어 졌다면 텍스트 뷰의 기능들을 모두 사용 할 수 있기 떄문에 텍스트 뷰라고도 할 수 있습니다.

​

2) 제약 레이아웃 (ConstraintLayout)

​

생각해보기

​

레이아웃 안에 레이아웃을 넣는 방식으로 3~4개의 레이아웃을 중첩시켜 넣은 후 그 안에 버튼을 넣으면 하나의

레이아웃 안에 버튼을 넣었을 때와 다른 점이 있을까요? 어떤 경우에 이렇게 만들까요?

- 제일 마지막 레이아웃의 속성에 따라서 버튼의 위치가 결정 됩니다.

​

제약 레이아웃 안에 두 개의 버튼을 넣고 하나의 버튼을 다른 버튼과 연결하여 위치시키면

하나의 버튼을 움직였을 때 다른 버튼도 따라 움직일까요?

- 네 따라 움직입니다. 제약 레이아웃이기 떄문에 상대적 위치에 따라서 버튼의 위치가 결정 되기 때문입니다.

4. 리니어 레이아웃

1) 대표적인 레이아웃 살펴보기

​

생각해보기

​

리니어 레이아웃 안에 리니어 레이아웃을 포함시키면 어떤 화면이든 다 만들 수 있는 걸까요?

- 아니요 수직배치와 수평 배치만을 이용하기 때문에 겹쳐서 생성할 필요가 있을때는 불가능 할 것 같습니다.

​

2) 리니어 레이아웃 (LinearLayout)

​

생각해보기

​

리니어 레이아웃 안에 리니어 레이아웃을 포함시키면 어떤 화면이든 다 만들 수 있는 걸까요?

- 아니요 수직배치와 수평 배치만을 이용하기 때문에 겹쳐서 생성할 필요가 있을때는 불가능 할 것 같습니다.

​

화면의 위, 아래 끝에 작은 뷰를 배치하고 싶다면 리니어 레이아웃을 쓰는 것보다 더 좋은 방법이 있을까요?

- 상대 레이아웃을 쓰거나 제약 레이아웃을 사용하면 더 간편하게 만들 수 있을 것 같습니다.

​

5. 상대 레이아웃

1) 상대 레이아웃 (RelativeLayout)

​

생각해보기

​

상대 레이아웃을 잘 사용할 수 있다면 다른 레이아웃은 필요 없는 걸까요?

- 상대 레이아웃을 잘 사용할 수 있다고 하더라도 각각의 필요성에 따라 레이아웃의 용도가 다르기 때문에 다른 레이아웃도 필요 합니다.

​

리니어 레이아웃과 상대 레이아웃을 잘 조합해서 사용하는 방법을 생각해보세요.

- 리니어 레이아웃을 이용해서 본문 내용은 정렬하여 사용하고, 상대 레이아웃을 이용하여 상하단이나 좌우 단을 사용하여 화면을 구성할 수 있을 것 같습니다.

​

화면에 보이는 뷰들의 일부가 겹쳐있도록 만들 수도 있을까요?

- 마진 값을 조절하여 겹쳐서 만들 수 있습니다.

​

​

6. 프레임 레이아웃

1) 프레임 레이아웃과 뷰의 전환

​

생각해보기

뷰를 중첩시키고 보였다 안보였다 하는 또 다른 예는 어떤 것이 있을까요?

- 여러개의 메뉴를 만들어서 각 탭을 눌렀을때 화면을 전환하여 보여주는 것 다중 메뉴탭을 예로 들수 있을것 같습니다.

​

화면의 일부분이 바뀌면서 보이는 것 말고 전체 화면이 다른 화면으로 바뀌면서 보이도록 만들 수도 있을까요?

- 프레임 레이아웃을 화면 전체로 적용시키면 바꿀수 있습니다.

​

이렇게 하기 위해서는 새로운 화면을 또 추가해야 하는 걸까요?

- 새로운 화면을 따로 추가할 필요는 없을 것 같습니다.

7.기본 위젯들

1) 기본 위젯들

​

생각해보기

다른 사람들이 Play스토어에 올려놓은 앱의 화면에서 볼 수 있는 버튼이나 텍스트뷰에는 얼마나 많은 속성이 ​

설정되어 있을까요?

-기본적인 폰트, 색깔부터 시작해서 엄청나게 많은 속성이 적용되어 있을 것 같습니다.

​

버튼의 background 속성을 이용해 배경으로 이미지를 설정하면 이미지뷰의 src 속성을 이용해

이미지를 보여주었을 때와 다른 점이 있을까요?

- 일단 배운것 만으로는 생각해 봤을 때, src 속성을 이용해서 이미지를 보여주면 이미지 자체 공간을 가지고 있어 조절이 가능 하지만 background를 사용하면 그것을 만드는 공간의 뒷배경을 사용하게 되므로 공간에 한계가 생기게 됩니다.

​

원본 이미지의 해상도가 각각 다른 여러 이미지를 하나의 이미지뷰에 번갈아 가면서 보여주려 할 때

이미지뷰의 scaleType 을 어떻게 설정해야 제대로 보여줄 수 있을까요?

- match parent를 사용하여 화면을 채우고, 각각 이미지뷰를 한개씩 보여줘야하기 때문에 한개의 이미지를 보여줄때는 나머지 이미지의 visibiliy를 gone으로 설정해줘야 합니다.

 


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