当 ScrollView 作为父布局时,ScrollView 不滚动

ScrollView not scrolling when ScrollView as parent layout

我在 ScrollView 中有一个 RelativeLayout。但是当它作为父布局时,ScrollView 不滚动。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent"

>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/iv_about_background"
        android:layout_width="match_parent"
        android:layout_height="150dp"
        android:src="@drawable/stack" />

    <TextView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/iv_about_background"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
       />
</RelativeLayout>
</ScrollView>

编辑:我从片段中删除了 rootView.setOnTouchListenerScrollView 工作正常

您可以做几件事:

  1. 确保您的内容在布局中的相对高度高于父级。我觉得150dp和10dp还是低于parent height.

  2. 将 ScrollView 的宽度和高度更改为 fill_parent 而不是 match_parent,并对相对布局执行相同的操作。

  3. 在ScrollView

  4. 中添加android:scrollbars = "vertical"属性

希望对您有所帮助。

试试

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:orientation="vertical"
android:fillViewport="false"
android:layout_height="match_parent"

>

    <LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

        <RelativeLayout
            android:layout_width="match_parent"
            android:layout_height="match_parent">

                <ImageView
                    android:id="@+id/iv_about_background"
                    android:layout_width="match_parent"
                    android:layout_height="150dp"
                    android:src="@drawable/stack" />

                <TextView
                    android:layout_width="match_parent"
                    android:layout_height="wrap_content"
                    android:layout_below="@+id/iv_about_background"
                    android:paddingLeft="10dp"
                    android:paddingRight="10dp"
                   />
        </RelativeLayout>

    </LinearLayout>

</ScrollView> 

试试这个希望对你有帮助。

<?xml version="1.0" encoding="utf-8"?>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
  android:layout_width="match_parent"
  android:layout_height="match_parent"
  android:fillViewport="true">

<LinearLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:orientation="vertical">

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="match_parent">

        <ImageView
            android:id="@+id/iv_about_background"
            android:layout_width="match_parent"
            android:layout_height="150dp"
            android:src="@drawable/stack" />

        <TextView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:layout_below="@+id/iv_about_background"
            android:paddingLeft="10dp"
            android:paddingRight="10dp" />
    </RelativeLayout>
</LinearLayout>

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:fillViewport="true"
android:layout_height="match_parent"
>

<RelativeLayout
    android:layout_width="match_parent"
    android:layout_height="wrap_content">

    <ImageView
        android:id="@+id/iv_about_background"
        android:layout_width="match_parent"
        android:layout_height="350dp"
        android:src="@drawable/stack" />



    <TextView
        android:text="rgergijsojsoierjgoegorijtowjtojrtoihjorjthlbkmoijbrotoojgowijtogirtjhowortgjowjtgjwrtgjowrijgtoiwjt"
        android:textSize="50sp"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_below="@+id/iv_about_background"
        android:paddingLeft="10dp"
        android:paddingRight="10dp"
        />

</RelativeLayout>

我已经将图片的高度大小更改为 350dp,并将文本大小设置为 50sp,以了解您发布的代码是否有效。您的代码非常好,但是您必须在 scrollview 中添加更多视图或增加 textview 的 image/font-size 的大小(如上面的代码所示)。