● 목적
View
를 배치할 때 효과적으로 크기를 지정할 수 있는 wrap_content
와 match_parent
의 정의와 사용 방법에 대해 알아본다. 현재 fill_parent
는 사용하지 않는 것을 권장하므로, match_parent
을 대신 사용하면 되니 참고하자.
● 참고
View
와 View Group
의 개념이 헷갈릴 경우, 아래의 포스팅을 참고하면 도움이 될 것 같다.
● wrap_content
wrap_content
속성을 준 버튼 View
이다. wrap_content
는 View
의 컨텐츠 영역이 정확히 들어갈 만큼만 높이와 너비를 생성한다는 뜻인데, 좀 더 쉽게 알아보도록 영어 단어를 직독직해로 해석해 보자.
wrap = 중국집에 짜장면을 배달시킬 때, 내용물이 흐르지 않도록 빈틈없이 꽁꽁 랩으로 싸매서 온다.
content = 컨텐츠.
컨텐츠를 랩으로 빈틈없이 꽁꽁 싸매다!
wrap
을 일상생활에서 사용하는 음식랩, content
는 말 그대로 컨텐츠라고 해석해 보자. 컨텐츠를 빈틈없이 랩으로 꽁꽁 싸매면, View
의 컨텐츠 영역이 정확히 들어갈 만큼만 View
의 크기를 맞추어, width (너비)
또는 height (높이)
가 생성된다,
● match_parent
LinearLayout View Group
에 match_parent
속성을 준 버튼 View
이다. match_parent
는 자신이 속해있는 부모의 속성값을 그대로 물려받아 너비와 높이를 맞추는 것이다. 이 또한 쉽게 알아볼 수 있도록 영어 단어를 직독직해로 해석해서 그 뜻을 파악해 보자.
match = 일치하다, 맞다
parent = 부모
부모에게 속성값을 맞추다!
부모님과 함께 거주할 경우에는 각 집안만의 규율이 있다. 가령 통금이라던지, 가족 구성원으로서 기본적으로 해야하는 일들 말이다. match_parent
속성도 그렇다. View
가 속해있는 부모의 크기에 맞추어 width (너비)
또는 height (높이)
를 지정할 수 있다.
● 사용예시
각 목적에 맞게 width
(너비) 또는 height
(높이) 마다 속성값을 지정해서 버튼 모양을 제작할 수 있다. wrap_content
와 match_parent
속성의 사용 방법을 사용예시를 통해 알아보고, 사진을 통해 직관적으로 파악해 보자.
▣ 너비 wrap_content, 높이 wrap_content
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="버튼"
android:textSize="100dp"/>
android:layout
코드를 통해 width
는 wrap_content
, height
또한 wrap_content
속성을 부여했다. 너비와 높이가 버튼 View
의 컨텐츠 크기에 맞추어 지정되었다.
▣ 너비 match_parent, 높이 match_parent
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:text="버튼"
android:textSize="100dp"/>
width
는 match_parent
, height
또한 match_parent
속성을 부여했다. 너비와 높이가 부모 View
인 LinearLayout
의 크기에 맞추어 지정되었다.
▣ 너비 wrap_content, 높이 match_parent
<Button
android:id="@+id/btn1"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:text="버튼"
android:textSize="100dp"/>
width
에는 wrap_content
, height
에는 match_parent
속성을 부여했다. 너비는 버튼 View
의 컨텐츠 크기에 맞추어 지정되었고, 높이는 부모 View
인 LinearLayout
의 크기에 맞추어 지정되었다.
▣ 너비 match_parent, 높이 wrap_content
<Button
android:id="@+id/btn1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼"
android:textSize="100dp"/>
width
에는 match_parent
, height
에는 wrap_content
속성을 부여했다. 너비는 부모 View
인 LinearLayout
의 크기에 맞추어 지정되었고, 높이는 버튼 View
의 컨텐츠 크기에 맞추어 지정되었다.