【问题标题】:ConstraintLayout - ImageView problem with bottom marginConstraintLayout - ImageView 底部边距问题
【发布时间】: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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2018-03-17
    • 2015-12-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 1970-01-01
    • 2014-08-28
    • 2018-03-16
    相关资源
    最近更新 更多