无法使用scrollView设置约束布局

时间:2017-06-05 13:23:04

标签: java android xml android-layout layout

我在2天前尝试创建这个简单的布局:image它不完全相同,但它接近我想要的。

当我尝试在约束布局上设置scrollView时,我总是得到这个凌乱的

view

即使我限制了我的所有元素,我也不知道如何组织这些事情,我对此感到很困惑。

这是我的xml:

<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="wrap_content"
    tools:context=".PhotosForPlant">

    <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="com.example.afcosta.inesctec.pt.android.PhotosForPlant"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">

        <ImageView
            android:id="@+id/plantImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/color_cursor_white"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="41dp" />

        <TextView
            android:id="@+id/descricaoTit"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Descrição"
            tools:layout_editor_absoluteX="0dp"
            tools:layout_editor_absoluteY="582dp" />


        <TextView
            android:id="@+id/specieDescription"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            tools:layout_editor_absoluteX="4dp"
            tools:layout_editor_absoluteY="622dp" />

        <TextView
            android:id="@+id/Family"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Familia"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="458dp" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Genre"
            tools:layout_editor_absoluteX="24dp"
            tools:layout_editor_absoluteY="389dp" />

        <TextView
            android:id="@+id/textView8"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="Espécie"
            tools:layout_editor_absoluteX="16dp"
            tools:layout_editor_absoluteY="309dp" />

        <TextView
            android:id="@+id/FamilyName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:layout_editor_absoluteX="96dp"
            tools:layout_editor_absoluteY="458dp" />

        <TextView
            android:id="@+id/GenreName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:layout_editor_absoluteX="96dp"
            tools:layout_editor_absoluteY="389dp" />

        <TextView
            android:id="@+id/SpecieName"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            tools:layout_editor_absoluteX="96dp"
            tools:layout_editor_absoluteY="309dp" />

        <android.support.v7.widget.RecyclerView
            android:id="@+id/gallery"
            android:layout_width="408dp"
            android:layout_height="111dp"
            tools:layout_editor_absoluteX="0dp"
            tools:layout_editor_absoluteY="141dp" />
    </android.support.constraint.ConstraintLayout>
</ScrollView>

1 个答案:

答案 0 :(得分:0)

根据您的要求,我创建了样本布局,因此您可以根据我使用的nestedscrollview而不是scrollview设计相同的内容,并为所有视图应用约束

   <android.support.v4.widget.NestedScrollView 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:fillViewport="true"
    android:layout_height="match_parent">

    <android.support.constraint.ConstraintLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        tools:context="com.example.afcosta.inesctec.pt.android.PhotosForPlant"
        tools:layout_editor_absoluteX="0dp"
        tools:layout_editor_absoluteY="0dp">

        <ImageView
            android:id="@+id/plantImage"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            app:srcCompat="@drawable/smile"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            app:layout_constraintHorizontal_bias="0.573"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/toolbar2" />

        <TextView
            android:id="@+id/textView3"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViLeft"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/plantImage"
            android:layout_marginStart="8dp" />

        <TextView
            android:id="@+id/textView5"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewDetail1"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginTop="20dp"
            app:layout_constraintTop_toBottomOf="@+id/textView3"
            android:layout_marginStart="8dp" />

        <TextView
            android:id="@+id/textView6"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewDetail2"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/textView13" />

        <TextView
            android:id="@+id/textView7"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewDetail3"
            app:layout_constraintLeft_toLeftOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/textView14" />

        <TextView
            android:id="@+id/textView12"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextView"
            app:layout_constraintRight_toRightOf="parent"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/plantImage"
            android:layout_marginEnd="8dp" />

        <TextView
            android:id="@+id/textView13"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewBold1"
            android:textStyle="bold"
            android:layout_marginTop="20dp"
            app:layout_constraintTop_toBottomOf="@+id/textView3"
            app:layout_constraintLeft_toRightOf="@+id/textView5"
            android:layout_marginStart="20dp" />

        <TextView
            android:id="@+id/textView14"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewBold2"
            android:textStyle="bold"
            app:layout_constraintLeft_toRightOf="@+id/textView6"
            android:layout_marginStart="20dp"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/textView13" />

        <TextView
            android:id="@+id/textView15"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:text="TextViewBold3"
            app:layout_constraintLeft_toRightOf="@+id/textView7"
            android:textStyle="bold"
            android:layout_marginStart="20dp"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/textView14" />

        <TextView
            android:id="@+id/textView16"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:text="TextView TextView TextView TextView TextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextViewTextView"

            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent"
            android:layout_marginStart="8dp"
            android:layout_marginEnd="8dp"
            app:layout_constraintHorizontal_bias="0.0"
            android:layout_marginTop="8dp"
            app:layout_constraintTop_toBottomOf="@+id/textView15" />

        <android.support.v7.widget.RecyclerView
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:layout_margin="8dp"
            android:id="@+id/recyclerview"
            app:layout_constraintTop_toBottomOf="@+id/textView16"
            app:layout_constraintStart_toStartOf="parent"
            app:layout_constraintEnd_toEndOf="parent"
            tools:layout_editor_absoluteX="8dp" />

        <android.support.v7.widget.Toolbar
            android:id="@+id/toolbar2"
            android:layout_width="0dp"
            android:layout_height="wrap_content"
            android:background="?attr/colorPrimary"
            android:minHeight="?attr/actionBarSize"
            android:theme="?attr/actionBarTheme"
            app:layout_constraintTop_toTopOf="parent"
            app:layout_constraintLeft_toLeftOf="parent"
            app:layout_constraintRight_toRightOf="parent" />


    </android.support.constraint.ConstraintLayout>
</android.support.v4.widget.NestedScrollView>

这里是设计和蓝图

enter image description here 注意:您在ScrollView中使用的是RecyclerView,不推荐使用。