【发布时间】:2020-08-18 05:30:15
【问题描述】:
我正在尝试设计一个简单的益智游戏,我在其中使用 ConstraintLayout,目标是具有相同大小的 4x4 网格 ImageViews。所有 ImageViews 的源图像都相同,因此所有元素的大小都相同。
问题是我将所有元素的 下边距 设置为 0dp 但对齐方式不同并且图像的“网格”不一致。第二个 ImageView 看起来底部边距很小,即使边距设置为 0dp。
我使用指南来划分内容并创建“网格”。有谁知道什么会导致这个问题?
活动源码:
<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 问题。
-
@Ajeeli 同意当我尝试将资源文件链接到 java 文件时发生在我身上......替换文件对我不起作用,主要是我必须重新启动 android......当这种情况发生时它会很糟糕。我认为资源链接问题/错误
-
尝试将
app:layout_constraintTop_toTopOf="@id/imageView17"添加到imageView18
标签: android android-studio imageview android-constraintlayout