约束布局问题

时间:2019-05-15 16:36:55

标签: java android android-constraintlayout

我在尝试创建新布局时遇到一些问题。我正在使用ConstraintLayour,将ImageView作为背景和6个按钮(A,B,C,D,E,F)在ImageView上应具有固定的位置。虽然Android Studio中的预览如下所示: https://i.stack.imgur.com/urDU7.jpg

当我启动该应用程序时,我得到以下信息: https://i.stack.imgur.com/Cu9wJ.jpg

代码如下:

<?xml version="1.0" encoding="utf-8"?>
<android.support.constraint.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:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Mapa">

    <ImageView
        android:id="@+id/almacen"
        android:layout_width="0dp"
        android:layout_height="0dp"

        android:adjustViewBounds="true"
        android:cropToPadding="false"
        app:layout_constraintBottom_toBottomOf="parent"
        app:layout_constraintEnd_toEndOf="parent"
        app:layout_constraintStart_toStartOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        app:srcCompat="@drawable/almacen_fondo" />

    <Button
        android:id="@+id/a_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginTop="140dp"
        android:backgroundTint="#FFC107"
        android:text="A"
        android:textAlignment="center"
        android:textAllCaps="false"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="@+id/b_button"
        app:layout_constraintStart_toStartOf="@+id/b_button"
        app:layout_constraintTop_toBottomOf="@+id/b_button" />

    <Button
        android:id="@+id/b_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginTop="140dp"
        android:backgroundTint="#FFC107"
        android:text="B"
        android:textAlignment="center"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="@+id/c_button"
        app:layout_constraintStart_toStartOf="@+id/c_button"
        app:layout_constraintTop_toBottomOf="@+id/c_button" />

    <Button
        android:id="@+id/c_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginStart="73dp"
        android:layout_marginTop="69dp"
        android:backgroundTint="#FFC107"
        android:text="C"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintStart_toStartOf="@+id/almacen"
        app:layout_constraintTop_toTopOf="@+id/almacen" />

    <Button
        android:id="@+id/d_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginTop="2dp"
        android:layout_marginEnd="73dp"
        android:backgroundTint="#FFC107"
        android:text="D"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintBottom_toBottomOf="@+id/c_button"
        app:layout_constraintEnd_toEndOf="@+id/almacen"
        app:layout_constraintTop_toTopOf="@+id/c_button" />

    <Button
        android:id="@+id/e_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginTop="140dp"
        android:backgroundTint="#FFC107"
        android:text="E"
        android:textAlignment="center"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="@+id/d_button"
        app:layout_constraintStart_toStartOf="@+id/d_button"
        app:layout_constraintTop_toBottomOf="@+id/d_button" />

    <Button
        android:id="@+id/f_button"
        android:layout_width="62dp"
        android:layout_height="66dp"
        android:layout_marginTop="140dp"
        android:backgroundTint="#FFC107"
        android:text="F"
        android:textAlignment="center"
        android:textSize="30sp"
        android:textStyle="bold"
        app:layout_constraintEnd_toEndOf="@+id/e_button"
        app:layout_constraintStart_toStartOf="@+id/e_button"
        app:layout_constraintTop_toBottomOf="@+id/e_button" />

</android.support.constraint.ConstraintLayout>

我在做什么错?我已经尝试了很多方法而没有解决问题。

1 个答案:

答案 0 :(得分:0)

您必须将链条链接到下面的所有视图

<Button
    android:id="@+id/button"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="C"
    app:layout_constraintBottom_toTopOf="@+id/button2"
    app:layout_constraintEnd_toStartOf="@+id/button4"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/button2"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="B"
    app:layout_constraintBottom_toTopOf="@+id/button3"
    app:layout_constraintEnd_toStartOf="@+id/button5"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/button" />

<Button
    android:id="@+id/button3"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="A"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toStartOf="@+id/button6"
    app:layout_constraintStart_toStartOf="parent"
    app:layout_constraintTop_toBottomOf="@+id/button2" />

<Button
    android:id="@+id/button4"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="D"
    app:layout_constraintBottom_toTopOf="@+id/button5"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/button"
    app:layout_constraintTop_toTopOf="parent" />

<Button
    android:id="@+id/button5"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="E"
    app:layout_constraintBottom_toTopOf="@+id/button6"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/button2"
    app:layout_constraintTop_toBottomOf="@+id/button4" />

<Button
    android:id="@+id/button6"
    android:layout_width="62dp"
    android:layout_height="62dp"
    android:backgroundTint="#FFC107"
    android:text="F"
    app:layout_constraintBottom_toBottomOf="parent"
    app:layout_constraintEnd_toEndOf="parent"
    app:layout_constraintStart_toEndOf="@+id/button3"
    app:layout_constraintTop_toBottomOf="@+id/button5" />

enter image description here