0

Constraint Layout에서 아이들의 높이/너비로 android:layout_height="match_parent" 또는 android:layout_width="match_parent"을 사용하고 Gradle 파일을 빌드하면 자동으로 android:layout_height="0dp" 또는 android:layout_widtht="0dp"으로 변경됩니다.match_parent를 "0dp"로 변환

기술적으로 0dpmatch_parent 사이에는 큰 차이가 있습니다.

대개의 경우 레이아웃에 영향을주지 않지만 때로는이 작업으로 인해 내 제약 레이아웃이 완전히 파괴됩니다.

왜 이런 일이 발생하는지 알 수 없습니다.
안내해주세요.

+1

"0dp"ConstraintLayout에서 "match_parent"에 해당하고, 읽기 이상의 여기 https://developer.android.com/training/constraint-layout/index.html – ShadowGod

답변

3

match_parent는 ConstraintLayout에서 지원되지 않습니다. 동일한 동작을 원할 경우 0dp를 사용하고 각면에 제약 조건을 부모에게 설정하십시오.

+2

경우 match_parent 지원되지 않는 이유는 IDE의 layout_width 및 layout_height에 대한 드롭 다운의 옵션입니까? 나는 당신이 틀렸다는 것을 말하고있는 것이 아닙니다. 왜냐하면 당신이 구글에서 일하면서 당신의 이름이 ConstraintLayout 질문에 답하는 것을 계속해서 나타낼 것이고 분명히 그것에 대해 많은 것을 알고 있기 때문입니다. 하지만 현재 ConstraintLayout에 대한 전체 구현은 엉망이며 현재 사용할 수 없다고 말하고 있습니다. – SimonH

1

ConstraintLayout의보기에는 match_parent를 사용하지 않아야합니다. 대신 0dp로 match constraints을 의미 곳

match_parent

filling whats left 의미 (0dp) "제약 조건과 일치"를 사용합니다. ConstraintLayout에서 match_parent은 지원되지 않습니다.

match_parent 그것이 위치의 것이 부모의에 의존 (X, & 너비/높이가 Y)하지만 0dp이

0

방법은 다른 요소에 따라, 상대 항목을 넣어 나와 함께 일한 제약/위치에 의해 정의 할 수 있습니다, 폭과 일치 부모이다

<RelativeLayout 
    android:layout_width="0dp" 
    android:layout_height="wrap_content" 
    app:layout_constraintStart_toStartOf="parent" 
    app:layout_constraintTop_toBottomOf="@id/xxx" 
    app:layout_constraintEnd_toEndOf="@+id/xxx" 
    >