Scrollview不会滚动

时间:2017-06-20 06:31:22

标签: android xml android-layout

这是应用程序的一部分,用户在树中查看他们正在查找的内容的各种复选框,然后显示拟合树列表。

我在屏幕顶部有一个带有edittext字段和按钮的活动,然后在它们下面都是一个滚动视图,其中有一个文本视图(显然在线性布局中)。基于用户检查先前活动的各种复选框,文本视图的大小会有所不同。

问题是当textview变成一个很长的列表时:我无法向下滚动屏幕来查看整个列表。我只能看到列表顶部的内容。

以下是我的活动xml:

<EditText
    android:id="@+id/et_item"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginEnd="9dp"
    android:layout_marginLeft="7dp"
    android:layout_marginRight="9dp"
    android:layout_marginStart="7dp"
    android:ems="10"
    android:hint="Item..."
    android:inputType="textPersonName"
    app:layout_constraintBottom_toBottomOf="@+id/scrollView2"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@+id/button2"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_constraintBottom_creator="1"
    tools:layout_constraintLeft_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintTop_creator="1" />

<Button
    android:id="@+id/button2"
    android:layout_width="88dp"
    android:layout_height="48dp"
    android:text="Find"
    tools:layout_constraintTop_creator="1"
    android:layout_marginStart="301dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="301dp"
    android:onClick="find" />

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="170dp"
    android:textAppearance="@style/TextAppearance.AppCompat.Title"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_constraintLeft_creator="1"
    tools:layout_constraintTop_creator="1" />

<ScrollView
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:id="@+id/scrollView2"
    app:layout_constraintRight_toLeftOf="@+id/linearLayout"
    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/linearLayout"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/linearLayout"
    app:layout_constraintTop_toTopOf="@+id/linearLayout">

</ScrollView>

<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginStart="8dp"
    android:id="@+id/linearLayout"
    tools:layout_constraintTop_creator="1"
    android:layout_marginTop="43dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="8dp">

    <TextView
        android:id="@+id/tv_results"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="11dp"
        android:text="Results..."
        android:textAppearance="@style/TextAppearance.AppCompat.Title"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintTop_creator="1" />

</LinearLayout>

为什么滚动不起作用?

1 个答案:

答案 0 :(得分:0)

这应该解决它:

<EditText
    android:id="@+id/et_item"
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:layout_marginEnd="9dp"
    android:layout_marginLeft="7dp"
    android:layout_marginRight="9dp"
    android:layout_marginStart="7dp"
    android:ems="10"
    android:hint="Item..."
    android:inputType="textPersonName"
    app:layout_constraintBottom_toBottomOf="@+id/scrollView2"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintRight_toLeftOf="@+id/button2"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_constraintBottom_creator="1"
    tools:layout_constraintLeft_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintTop_creator="1" />

<Button
    android:id="@+id/button2"
    android:layout_width="88dp"
    android:layout_height="48dp"
    android:text="Find"
    tools:layout_constraintTop_creator="1"
    android:layout_marginStart="301dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="301dp"
    android:onClick="find" />

<TextView
    android:id="@+id/tv1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_marginLeft="16dp"
    android:layout_marginStart="16dp"
    android:layout_marginTop="170dp"
    android:textAppearance="@style/TextAppearance.AppCompat.Title"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    tools:layout_constraintLeft_creator="1"
    tools:layout_constraintTop_creator="1" />

<ScrollView
    android:layout_width="0dp"
    android:layout_height="0dp"
    android:id="@+id/scrollView2"
    app:layout_constraintRight_toLeftOf="@+id/linearLayout"
    tools:layout_constraintTop_creator="1"
    tools:layout_constraintRight_creator="1"
    tools:layout_constraintBottom_creator="1"
    app:layout_constraintBottom_toTopOf="@+id/linearLayout"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="@+id/linearLayout"
    app:layout_constraintTop_toTopOf="@+id/linearLayout">


<LinearLayout
    android:layout_width="0dp"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:layout_marginStart="8dp"
    android:id="@+id/linearLayout"
    tools:layout_constraintTop_creator="1"
    android:layout_marginTop="43dp"
    tools:layout_constraintLeft_creator="1"
    app:layout_constraintLeft_toLeftOf="parent"
    app:layout_constraintTop_toTopOf="parent"
    android:layout_marginLeft="8dp">

    <TextView
        android:id="@+id/tv_results"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_marginLeft="16dp"
        android:layout_marginStart="16dp"
        android:layout_marginTop="11dp"
        android:text="Results..."
        android:textAppearance="@style/TextAppearance.AppCompat.Title"
        app:layout_constraintLeft_toLeftOf="parent"
        app:layout_constraintTop_toTopOf="parent"
        tools:layout_constraintLeft_creator="1"
        tools:layout_constraintTop_creator="1" />

</LinearLayout>
</ScrollView>