Android 003. layout_width, layout_height of view

1 minute read

뷰의 폭과 높이를 설정

  • match_parent : 뷰 그룹에 남아있는 여유 공간을 채움

  • wrap_content : 뷰에 들어있는 내용의 크기에 따라 뷰의 크기 결정

  • 값 지정 : 고정 값

테스트 해보자

match_constraint, wrap_content

03-am

하지만 우리의 버튼 친구는 match_parent 대신에 match_constraint가 있다.

이 버튼 친구는 처음부터 기본 레이아웃인 ConstraintLayout에 속해있기 때문이다.

03-ha

그럼 width 값을 match_constraint로 해보면 이렇게 꽉 차게 된다.

ConstraintLayout이 전체 레이아웃을 차지하기 때문이다.

wrap_content의 경우, 첫 번째 사진을 보면 된다.

뷰에 들어있는 글자에 맞춰서 크기가 정해지기 때문이다.

HELLO ANDROID 버튼과 LINK TO MY BLOG 버튼의 width가 다른 이유가 둘 다 wrap_content이기 때문이다.

match_parent

그럼, ConstraintLayout을 지워보자.

activity_main.xml로 가서 Text를 선택하고 몇개를 바꿔주자.

03-amt

두 번째 줄의 ConstraintLayout을 LinearLayout으로 바꿔준다.

ConstraintLayout과 관련된 것은 모두 지워주자.

그럼 왼쪽의 그림과 같이 좌측 상단으로 버튼이 모두 쏠린다.

이제 드디어 match_parent를 써볼때가 됐다.

HELLO ANDROID 버튼의 layout_widthmatch_parent로 바꿔보자

03-am2

layout_height도 바꿔보자

03-am3

값 지정

이번엔 수치로 해보자

수치가 뭐가 어렵냐 하겠지만, 단위가 다르다.

px

먼저 가장 기본적인 px이 있다.

말 그대로 화면의 픽셀값이다.

03-ha2

dp

dp는 density independent pixel의 줄임마이다.

화면을 160dpi라 했을 때의 픽셀을 의미한다.

03-ha3

dpi가 인치단위니까 인치로도 단위를 쓸 수 있을까?

in

당연하다.

이번엔 아래버튼을 2in로 지정해보자.

03-lb

다른 레이아웃들은 어떻게 하냐

아까처럼 Text로 가서 코드를 전부 바꿔줘야 하냐?

우리의 위대한 안스께서는 레이아웃들도 Drag&Drop으로 해주셨다.

왼쪽의 팔레트에 보면 레이아웃들이 있다.

03-pa

가져다 쓰면 된다.

근데 주의할 점은 레이아웃 안에 레이아웃이 들어가는 경우도 있기 때문에 열심히 잘 드래그 해줘야한다.

Design 탭만 보는게 아니라 Text 탭도 보라는 거다.

Categories:

Updated:

Comments