ConstraintLayout-底部边缘的ImageView问题

问题描述 投票:0回答:1

我正在尝试设计一个简单的益智游戏,在其中我使用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" />

android android-studio imageview android-constraintlayout
1个回答
0
投票

我将您的代码复制粘贴到了Android Studio中。您的代码在我的设计视图中运行良好(请参见下图)。我建议您执行以下步骤

  1. 如果不起作用,请强制刷新您的设计视图
  2. 尝试重新启动Android Studio
  3. 如果问题仍然存在,请尝试更新android studio或与支持人员联系。

test

© www.soinside.com 2019 - 2024. All rights reserved.