Android studio约束布局按钮位置错误

时间:2017-09-28 07:19:35

标签: android layout

我对android studio和java编程很新,

我的应用程序中有一个使用ImageView和Buttons的约束布局,

所有人都有:

tools:layout_editor_absoluteX="36dp" tools:layout_editor_absoluteY="1181dp"

我知道这只在编辑器中显示,如何在编译时将我的东西放在正确的位置?

我已经尝试过LinearLayout和亲戚,但我也有ScrollView,我没有设法用线性或相对的方式正确实现它,也许我不应该像这样使用布局......

这是我的布局文件:

`<?xml version="1.0" encoding="utf-8"?>
<ScrollView
    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="fill_parent"
android:layout_weight = "1"
android:orientation="vertical"
android:padding="10dp"
android:background="@drawable/r1"
android:fillViewport="true">

<android.support.constraint.ConstraintLayout
    android:id="@+id/scroll1"
    android:layout_width="wrap_content"
    android:layout_height="match_parent"
    tools:layout_editor_absoluteX="10dp"
    tools:layout_editor_absoluteY="9dp">

    <TextView
        android:id="@+id/textView2"
        android:layout_width="0dp"
        android:layout_height="wrap_content"
        android:layout_marginStart="16dp"
        android:layout_weight="0.04"
        android:text="Les Poissons Blancs"
        android:textAlignment="viewStart"
        android:textColor="@android:color/holo_green_light"
        android:textSize="36sp"
        android:textStyle="bold"
        tools:layout_editor_absoluteX="16dp"
        tools:layout_editor_absoluteY="88dp">
    </TextView>

    <Button
        android:id="@+id/button4"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Ablette"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="275dp" />

    <Button
        android:id="@+id/button5"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Barbeau"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="426dp" />

    <Button
        android:id="@+id/button6"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Brème"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="577dp" />

    <Button
        android:id="@+id/button7"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Carpe"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="728dp" />

    <Button
        android:id="@+id/button8"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Carassin"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="879dp" />

    <Button
        android:id="@+id/button9"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:text="Chevesne"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="1030dp" />

    <Button
        android:id="@+id/button10"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:layout_marginStart="16dp"
        android:text="Gardon"
        tools:layout_editor_absoluteX="36dp"
        tools:layout_editor_absoluteY="1181dp" />

    <ImageView
        android:id="@+id/imageView1"
        android:layout_width="0dp"
        android:layout_height="48dp"
        android:layout_weight="0.00"
        app:srcCompat="@drawable/ablette"
        tools:layout_editor_absoluteY="213dp"
        tools:layout_editor_absoluteX="270dp" />

    <ImageView
        android:id="@+id/imageView2"
        android:layout_width="92dp"
        android:layout_height="48dp"
        app:srcCompat="@drawable/barbeau"
        tools:layout_editor_absoluteX="371dp"
        tools:layout_editor_absoluteY="426dp" />

    <ImageView
        android:id="@+id/imageView3"
        android:layout_width="92dp"
        android:layout_height="48dp"
        android:layout_marginEnd="1dp"
        app:srcCompat="@drawable/breme"
        tools:layout_editor_absoluteX="371dp"
        tools:layout_editor_absoluteY="577dp" />

    <ImageView
        android:id="@+id/imageView4"
        android:layout_width="92dp"
        android:layout_height="48dp"
        android:layout_marginEnd="8dp"
        app:srcCompat="@drawable/carpe"
        tools:layout_editor_absoluteX="371dp"
        tools:layout_editor_absoluteY="728dp" />

    <ImageView
        android:id="@+id/imageView5"
        android:layout_width="92dp"
        android:layout_height="48dp"
        android:layout_marginEnd="129dp"
        app:srcCompat="@drawable/carassin"
        tools:layout_editor_absoluteX="380dp"
        tools:layout_editor_absoluteY="879dp" />

    <ImageView
        android:id="@+id/imageView6"
        android:layout_width="92dp"
        android:layout_height="48dp"
        app:srcCompat="@drawable/chevesne"
        tools:layout_editor_absoluteX="380dp"
        tools:layout_editor_absoluteY="1030dp" />

    <ImageView
        android:id="@+id/imageView7"
        android:layout_width="92dp"
        android:layout_height="48dp"
        app:srcCompat="@drawable/gardon"
        tools:layout_editor_absoluteX="380dp"
        tools:layout_editor_absoluteY="1181dp" />

</android.support.constraint.ConstraintLayout>

</ScrollView>´

当在ImageView上单击ctrl + F1时,我说必须通过从边连接拖动来添加约束,我试图在编辑器中执行它,但它失败了

非常感谢

3 个答案:

答案 0 :(得分:0)

使用constraintLayout很容易在任何我们想要的地方显示项目,特别是使用androidStudio编辑器

Just link item between them

在您的代码中,您没有任何constraintProperties 例如,button5位于button4下方:

app:layout_constraintTop_toBottomOf="@+id/button4"

答案 1 :(得分:0)

谢谢,按钮效果更好,现在它们位于正确的位置,

对于我添加android:layout_marginTop="110dp" android:layout_marginLeft="35dp" app:layout_constraintTop_toBottomOf="@+id/buttonxxx"

的所有按钮

我已经尝试使用

进行所有图像查看
android:layout_marginTop="150dp"
        android:layout_marginLeft="440dp"

它适用于imageview1和2但是,其他保留在窗口的左侧大小(?!)

或方块位于正确的位置,但图像没有跟随....

答案 2 :(得分:0)

可以应用保证金,非常感谢

<Button
        android:id="@+id/button5"
        style="@android:style/Widget.Holo.Light.Button"
        android:layout_width="120dp"
        android:layout_height="48dp"
        android:layout_marginLeft="40dp"
        android:layout_marginTop="110dp"
        android:text="Barbeau"
        android:textColor="@android:color/white"
        android:onClick="barbeau1"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toBottomOf="@+id/button4" />