programing

fill_parent와 wrap_content의 차이점은 무엇입니까?

bestprogram 2023. 10. 29. 19:53

fill_parent와 wrap_content의 차이점은 무엇입니까?

Android에서 위젯을 레이아웃 할 때 다음과 다른 점은 무엇입니까?fill_parent(match_parent(API Level 8 이상) 및wrap_content?

당신이 지목할 수 있는 문서가 있습니까?저는 그것을 잘 이해하는 것에 관심이 있습니다.

둘 중 하나의 속성을 View(시각 제어)의 가로 또는 세로 크기에 적용할 수 있습니다.차원을 명시적으로 지정하지 않고 내용 또는 상위 레이아웃 크기에 따라 보기 또는 레이아웃 크기를 설정하는 데 사용됩니다.

(deprec 및 이름 변경)MATCH_PARENTAPI Level 8 이상에서)

위젯의 레이아웃을 fill_parent로 설정하면 위젯이 배치된 레이아웃 요소 내에서 사용 가능한 공간을 최대한 사용하도록 확장됩니다.이는 윈도우 폼 컨트롤의 도크 스타일을 다음과 같이 설정하는 것과 거의 맞먹습니다.Fill.

상위 레벨 레이아웃 또는 컨트롤을 fill_parent로 설정하면 해당 컨트롤이 전체 화면을 차지하게 됩니다.

wrap_content

보기의 크기를 wrap_content로 설정하면 보기에 포함된 값(또는 하위 컨트롤)이 포함될 수 있을 만큼만 확장됩니다.텍스트 상자(TextView) 또는 이미지(ImageView)와 같은 컨트롤의 경우 표시되는 텍스트 또는 이미지를 래핑합니다.레이아웃 요소의 경우 하위 항목으로 추가된 컨트롤/레이아웃에 맞게 레이아웃 크기를 조정합니다.

Windows Form Control(윈도우 폼 컨트롤)의 설정과 거의 맞먹습니다.Autosize속성을 True로 바꿉니다.

온라인 설명서

여기 안드로이드 코드 설명서에 자세한 내용이 있습니다.

(deprec) =
자식 보기의 테두리가 부모 보기의 테두리와 일치하도록 확장됩니다.

wrap_content
하위 보기의 테두리는 고유한 내용을 잘 감싼다.

여기 상황을 좀 더 명확하게 하기 위한 몇 가지 이미지가 있습니다.초록색과 빨간색은TextViews. 흰색은.LinearLayout끝까지 보여주는

enter image description here

모든View(a)TextView, 가.ImageView,aButton, 등)을 설정할 필요가 있습니다.width그리고.height시야의xml 레이아웃 파일에서는 다음과 같이 보일 수 있습니다.

android:layout_width="wrap_content"
android:layout_height="match_parent"

폭과 높이를 다음과 같이 설정하는 것 외에도match_parent아니면wrap_content, 어떤 절대값으로 설정할 수도 있습니다.

android:layout_width="100dp"
android:layout_height="200dp"

그러나 일반적으로 크기가 다른 장치에 비해 유연하지 않기 때문에 이는 좋지 않습니다.당신이 이해한 후에wrap_content그리고.match_parent, 그 다음에 배울 것은layout_weight.

참고 항목

위 이미지의 XML

수직 선형 레이아웃

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="vertical"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="width=wrap height=wrap"
        android:background="#c5e1b0"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="width=match height=wrap"
        android:background="#f6c0c0"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="width=match height=match"
        android:background="#c5e1b0"/>

</LinearLayout>

수평 선형 배치

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
              android:orientation="horizontal"
              android:layout_width="match_parent"
              android:layout_height="match_parent">

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="WrapWrap"
        android:background="#c5e1b0"/>

    <TextView
        android:layout_width="wrap_content"
        android:layout_height="match_parent"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="WrapMatch"
        android:background="#f6c0c0"/>

    <TextView
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:text="MatchMatch"
        android:background="#c5e1b0"/>

</LinearLayout>

메모

이 답변의 설명은 여백이나 덧씌우기가 없다고 가정합니다.그러나 설사 있다 하더라도 기본 개념은 그대로입니다.뷰 테두리/간격은 여백 또는 패딩 값으로 조정됩니다.

  • fill_parent는 요소의 너비 또는 높이를 상위 요소, 즉 컨테이너만큼 크게 만듭니다.

  • wrap_content폭 또는 높이를 필요한 만큼 크게 하여 그 안에 요소를 포함할 수 있습니다.

ANDROID DOC 참조를 보려면 여기를 클릭하십시오.

fill_parent :

구성 요소가 배치되어 있습니다.fill_parent공간에서 레이아웃 단위 멤버를 최대한 채우도록 확장해야 합니다.이는 Windows 컨트롤의 Dockstyle 속성과 일치합니다.상단 세트 레이아웃 또는 컨트롤:fill_parent화면 전체를 강제로 차지하게 됩니다.

wrap_content

에 대한 wrap_content보기가 강제로 확장되어 모든 내용이 표시됩니다.예를 들어 TextViewImageView 컨트롤은 다음과 같이 설정됩니다.wrap_content내부 텍스트와 이미지 전체가 표시됩니다.레이아웃 요소는 내용에 따라 크기가 변경됩니다. Autosize의 wrap_contentWindows 컨트롤을 True로 설정하는 것과 거의 맞먹습니다.

자세한 사항은 이 링크를 확인하시기 바랍니다: http://developer.android.com/reference/android/view/ViewGroup.LayoutParams.html

언급URL : https://stackoverflow.com/questions/432763/whats-the-difference-between-fill-parent-and-wrap-content