Использование match_parent в ConstraintLayout - PullRequest
0 голосов
/ 25 марта 2020

Это нормально, если мы используем match_parent в ConstraintLayout, когда нам не нужны какие-либо «ограничения»?

Например:

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"/>

можно упростить до:

<View
    android:layout_width="match_parent"
    android:layout_height="match_parent"/>

Ответы [ 3 ]

1 голос
/ 25 марта 2020

Это нормально, хотя использование ограничений - это, как правило, лучшая идея, если match_parent дает вам тот же результат, что вы должны go, поскольку это вызывает меньше помех. Но, в конце концов, это всего лишь личные предпочтения, и они не имеют большого значения.

1 голос
/ 25 марта 2020

Чтение Создание отзывчивого пользовательского интерфейса

Лучший способ создать адаптивный макет для экранов разных размеров - использовать ConstraintLayout в качестве базового макета в ваш интерфейс ConstraintLayout позволяет вам указать положение и размер для каждого вида в соответствии с пространственными отношениями с другими видами в макете. Таким образом, все виды могут перемещаться и растягиваться вместе при изменении размера экрана.

Оба макета верны. Каждый макет имеет свои преимущества, но когда дело доходит до сложных, динамичных c и адаптивных представлений, вы всегда должны выбирать Ограничительный макет .

<View
    android:layout_width="0dp"
    android:layout_height="0dp"
    app:layout_constraintTop_toTopOf="parent"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"/>

СТАРЫЙ

    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toRightOf="parent"

NEW

    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
1 голос
/ 25 марта 2020

Это противоречит цели ограничения, вам, вероятно, следует использовать LinearLayout или RelativeLayout, если вы хотите использовать второй подход. Целью ConstraintLayout является минимизация подуровней / вложенных вложений макетов внутри XML (больше ни одного из этих множественных LinearLayouts или RelativeLayouts, вместо этого мы можем использовать Группы или ConstraintLayout Flow)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...