当ScrollView作为父布局

时间:2017-09-23 05:44:57

标签: android relativelayout android-scrollview

我在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工作正常

4 个答案:

答案 0 :(得分:2)

<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,并将text-size设置为50sp,以了解您发布的代码是否有效。您的代码非常好,但要么您必须在scrollview中添加更多视图,要么增加textview的图像/字体大小(如上面的代码所示)。

答案 1 :(得分:1)

你可以做几件事:

  1. 确保相对布局高度的内容超过父级。我认为150dp和10dp仍低于父高。

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

  3. 在ScrollView中添加android:scrollbars = "vertical"属性

  4. 希望它有用。

答案 2 :(得分:0)

尝试

<?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> 

答案 3 :(得分:0)

试试这个希望它会对你有所帮助。

<?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>