match_parent 와 wrap_content 속성
레이아웃 위젯의 layout_width 와 layout_height 속성에 match_parent 와 wrap_content 를 설정할 수 있습니다.
이 설정은 다음과 같은 의미를 가집니다.
속성 | 설명 |
match_parent | 부모의 길이에 맞춥니다. 위젯의 경우 위젯을 감싸고 있는 레이아웃의 width 와 height 에 맞춰집니다. 보통 match_parent 는 "너비 혹은 높이가 화면 전체 길이"를 의미합니다. |
warp_content | 위젯에 입력할 글자 혹은 이미지 크기에 맞게 설정됩니다. |
아래 XML 예제로 보기 쉽게 설명해 보겠습니다.
match_parent 와 wrap_content 예제
예제1
FrameLayout 에서 layout_width, layout_height 는 match_parent 로 설정되어 있습니다.
이는 Layout 이 화면 전체에 가득차도록 설정했다라는 의미가 됩니다.
Button 버튼1 에서 layout_width 는 match_parent 로 설정되어 있어 FrameLayout 의 width 크기만큼 설정됩니다.
layout_heigth 는 wrap_content 로 버튼1 텍스트 크기만큼의 높이 영역을 할당받습니다.
Button 버튼2 에서 layout_height 의 match_parent 로 설정되어 있으 FrameLayout 의 height 크기만큼 설정됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼1"/>
<Button
android:layout_width="100dp"
android:layout_height="match_parent"
android:backgroundTink="#FF0000"
android:text="버튼2"/>
</FrameLayout>
|
cs |
예제2
위의 예제 버튼에서 match_parent 가 FrameLayout 에 설정된 match_parent 크기만큼이라고 말씀드렸습니다.
그럼 FrameLayout 의 설정을 match_parent 에서 변경하면 어떻게 될까요?
Button 버튼1 에서 layout_width 는 match_parent 로 설정되어 있어 FrameLayout 의 width 크기만큼 설정됩니다.
즉 버튼1의 너비는 200dp 로 지정됩니다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="200dp"
android:layout_height="match_parent">
<Button
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="버튼1"/>
<Button
android:layout_width="100dp"
android:layout_height="match_parent"
android:backgroundTint="#FF0000"
android:text="버튼2"/>
</FrameLayout>
|
cs |
'Computer Language > Android' 카테고리의 다른 글
[Android] 안드로이드 Network error IOException: socket failed: EACCES (Permission denied) 해결하기 (0) | 2021.07.25 |
---|---|
[Android] 안드로이드 프래그먼트 사용방법과 생명주기 (0) | 2021.07.14 |
[Android] 안드로이드 레이아웃 (0) | 2021.07.12 |
[Android] 안드로이드 인텐트 다른 액티비티로 이동 및 데이터를 전달 (0) | 2021.07.10 |
[Android] 안드로이드 위젯 (feat 텍스트뷰, 버튼) (0) | 2021.06.29 |