当 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.setOnTouchListener
,ScrollView
工作正常
您可以做几件事:
确保您的内容在布局中的相对高度高于父级。我觉得150dp和10dp还是低于parent height.
将 ScrollView 的宽度和高度更改为 fill_parent
而不是 match_parent
,并对相对布局执行相同的操作。
在ScrollView
中添加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 的大小(如上面的代码所示)。
我在 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.setOnTouchListener
,ScrollView
工作正常
您可以做几件事:
确保您的内容在布局中的相对高度高于父级。我觉得150dp和10dp还是低于parent height.
将 ScrollView 的宽度和高度更改为
fill_parent
而不是match_parent
,并对相对布局执行相同的操作。在ScrollView
中添加
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 的大小(如上面的代码所示)。