[안드로이드 기초] View 크기 지정하는 wrap_content, match_parent 차이와 사용예시

2022. 10. 21. 21:08·■ Dev. ETC/Android Studio (JAVA)
반응형

●  목적

View를 배치할 때 효과적으로 크기를 지정할 수 있는 wrap_content와 match_parent의 정의와 사용 방법에 대해 알아본다. 현재 fill_parent는 사용하지 않는 것을 권장하므로, match_parent을 대신 사용하면 되니 참고하자.


●  참고

View와 View Group의 개념이 헷갈릴 경우, 아래의 포스팅을 참고하면 도움이 될 것 같다.

 

[안드로이드 기초] 뷰 (View)와 뷰 그룹 (View Group) 개념 알아보기

● 목적 안드로이드 개발에 사용되는 기초적인 UI 디자인 요소에 대해 알아보고, 그 개념을 이해한다. ● 뷰 (View)와 뷰 그룹 (View Group) 개념 사용자에게 출력하는 화면을 구성하기 위한 모든 요소

acredev.tistory.com


●  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의 컨텐츠 크기에 맞추어 지정되었다.

300x250
반응형
저작자표시 비영리 변경금지 (새창열림)
'■ Dev. ETC/Android Studio (JAVA)' 카테고리의 다른 글
  • [안드로이드 기초] 버튼 클릭 이벤트 처리하는 onClickListner 사용방법
  • [안드로이드 기초] 안드로이드 스튜디오 프로젝트 폴더 구조 이해
  • [안드로이드 기초] 리니어 레이아웃 (LinearLayout) 개념과 사용법
  • [안드로이드 기초] 뷰 (View)와 뷰 그룹 (View Group) 개념 알아보기
Min Hyuk-Lee
Min Hyuk-Lee
시스템 엔지니어로 근무하고 있습니다.
  • Min Hyuk-Lee
    아크레의 개발로그
    Min Hyuk-Lee
    m_file@naver.com
  • 전체
    오늘
    어제
    • 📝 Log. (82) N
      • ■ Dev. Language (11)
        • C (5)
        • C# (6)
      • ■ Dev. ETC (8)
        • Unity 3D (3)
        • Android Studio (JAVA) (5)
      • ■ Web (6)
        • HTML (3)
        • JSP (3)
      • ■ Linux (8)
        • Shell (2)
        • Linux Tip. (6)
        • 보안취약점 진단 (0)
      • ■ Windows (4)
        • Server (1)
        • Windows Tip. (3)
      • ■ VM (1)
        • VMWare (1)
        • Virtual Box (0)
      • ■ Database (9)
        • MySQL (7)
        • OracleDB (2)
      • ■ DevKit (5)
        • IDE (4)
        • Tool (1)
      • ■ Error (18) N
        • Linux 오류해결 (4)
        • DB 오류해결 (4) N
        • IDE 오류해결 (2)
        • VM 오류해결 (3)
        • Unity 오류해결 (4)
        • SSH, SFTP 오류해결 (1)
      • ■ Photoshop (3)
        • 디자인&이미지 창작 (3)
      • ■ Document (3)
        • MS Word (2)
        • PDF (1)
      • ■ Study (4)
        • Baekjoon (4)
      • ■ 작문 (1)
        • 회고 (1)
      • ■ ETC (1)
        • Car (0)
        • etc (1)
  • 🌐 Menu

    • 📓 Guestbook
  • 🔗 Other Links

    • GitHub
    • 아크레의 IT ISSUE
  • 📢 Notice

    • [스킨 업데이트] hELLO v4.10.0 적용완료
    • [스킨 업데이트] hELLO v4.9.0 적용 완료
    • [스킨 업데이트] hELLO v4.8.1 적용 완료
  • 💬 Recent Comments

  • hELLO· Designed By정상우.v4.10.0
Min Hyuk-Lee
[안드로이드 기초] View 크기 지정하는 wrap_content, match_parent 차이와 사용예시
상단으로

티스토리툴바