ConstraintLayout - проблема ImageView с нижним полем - PullRequest
0 голосов
/ 03 мая 2020

Я пытаюсь разработать простую игру-головоломку, в которой я использую ConstraintLayout , и цель состоит в том, чтобы получить сетку 4x4 ImageViews с тем же размером. Исходное изображение одинаково для всех ImageViews , поэтому все элементы будут иметь одинаковый размер.

Проблема в том, что я установил нижнее поле всех элементов на 0dp , но выравнивание отличается и "сетка" изображений не согласована. Второй ImageView выглядит так, как будто есть небольшое нижнее поле, даже если поле установлено на 0dp .

Я использую рекомендации для разделения контента и создания "сетки" ». Кто-нибудь знает, что может вызвать эту проблему?

different bottom margin

Исходный код действия:

<androidx.constraintlayout.widget.ConstraintLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/layout"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginLeft="8dp"
android:layout_marginTop="16dp"
android:layout_marginRight="8dp"
android:layout_marginBottom="16dp"
tools:context=".MainActivity">

<ImageView
    android:id="@+id/imageView17"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/guideline"
    app:layout_constraintStart_toStartOf="parent"
    app:srcCompat="@drawable/img0" />

<ImageView
    android:id="@+id/imageView22"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    app:layout_constraintBottom_toTopOf="@+id/imageView17"
    app:layout_constraintEnd_toStartOf="@+id/guideline"
    app:layout_constraintHorizontal_bias="1.0"
    app:layout_constraintStart_toStartOf="parent"
    app:srcCompat="@drawable/img0" />

<ImageView
    android:id="@+id/imageView18"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:srcCompat="@drawable/img0" />

<ImageView
    android:id="@+id/imageView23"
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:layout_marginStart="8dp"
    android:layout_marginEnd="8dp"
    android:layout_marginBottom="8dp"
    android:adjustViewBounds="true"
    android:scaleType="fitXY"
    app:layout_constraintBottom_toTopOf="@+id/imageView18"
    app:layout_constraintEnd_toStartOf="@+id/guideline2"
    app:layout_constraintHorizontal_bias="0.0"
    app:layout_constraintStart_toStartOf="@+id/guideline"
    app:srcCompat="@drawable/img0" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.25" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline2"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.5" />

<androidx.constraintlayout.widget.Guideline
    android:id="@+id/guideline4"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    app:layout_constraintGuide_percent="0.75" />

1 Ответ

0 голосов
/ 03 мая 2020

Я скопировал и вставил твой код в мою Android Studio. Ваш код работал нормально в моем представлении дизайна (см. Изображение ниже). Я предлагаю вам следующие шаги

  1. Принудительно обновить sh ваше представление дизайна, если оно не работает, тогда
  2. попробуйте перезапустить Android Studio
  3. Если проблема все еще сохраняется попробуйте обновить android studio или обратитесь в службу поддержки.

test

...