约束布局不适用于Scroll View

时间:2017-05-29 23:55:16

标签: android android-scrollview android-constraintlayout

在Android Studio中,所有内容都是这样的:

in  android studio

但是当应用程序打开时,它看起来像这样:

on emulator

看起来所有按钮都在同一个地方。

这是mt XML:

<?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="match_parent"
    android:layout_weight="1"
    android:background="@color/colorBackground"
    tools:context="com.example.dusan.unitconverter9.MainActivity">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_weight="1"
        android:layout_height="match_parent">


        <Button
            android:id="@+id/btnDuzina"
            android:layout_width="110dp"
            android:layout_height="70dp"
            android:layout_marginLeft="10dp"
            android:layout_marginTop="8dp"
            android:text="Duzina"
            android:background="@color/colorButton"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintTop_toTopOf="parent" />

        <Button
            android:id="@+id/btnMasa"
            android:layout_width="110dp"
            android:layout_height="70dp"
            android:text="Masa"
            android:layout_marginLeft="10dp"
            android:layout_marginRight="10dp"
            android:background="@color/colorButton"
            app:layout_constraintHorizontal_bias="1.0"
            app:layout_constraintLeft_toRightOf="@+id/btnTemperatura"
            app:layout_constraintRight_toRightOf="parent"
            tools:layout_editor_absoluteY="8dp" />


        <Button
            android:id="@+id/btnTemperatura"
            android:layout_width="110dp"
            android:text="Temperatura"
            android:layout_height="70dp"
            android:layout_marginLeft="17dp"
            android:background="@color/colorButton"
            app:layout_constraintLeft_toRightOf="@+id/btnDuzina"
            tools:layout_editor_absoluteY="8dp" />
        <Button
            android:id="@+id/btnBrzina"
            android:layout_width="110dp"
            android:background="@color/colorButton"
            android:layout_marginTop="10dp"
            android:layout_height="70dp"
            android:text="brzina"
            tools:layout_editor_absoluteX="10dp"
            tools:layout_editor_absoluteY="87dp" />

        <Button
            android:id="@+id/btnZapremina"
            android:layout_width="110dp"
            android:layout_height="70dp"
            android:background="@color/colorButton"
            android:text="zapremina"
            android:layout_marginTop="10dp"
            tools:layout_editor_absoluteY="87dp"
            tools:layout_editor_absoluteX="137dp" />

        <Button
            android:id="@+id/btnVreme"
            android:layout_width="110dp"
            android:layout_height="70dp"
            android:background="@color/colorButton"
            android:text="vreme"
            android:layout_marginTop="10dp"
            tools:layout_editor_absoluteY="87dp"
            tools:layout_editor_absoluteX="264dp" />

        (Bunch of buttons.....)


    </android.support.constraint.ConstraintLayout>

</ScrollView>

我觉得这是因为Scroll View,但我不知道如何修复它。

感谢。

1 个答案:

答案 0 :(得分:0)

您缺少布局中按钮的运行时限制。

要解决此问题,请进入布局编辑器,然后单击推断约束按钮(https://developer.android.com/training/constraint-layout/index.html#use-autoconnect-and-infer-constraints),重新编译,应用程序应该在Android模拟器中看起来很好。