53

我的活动中有一定的问题。ScrollView 不会向下滚动到底部。
我有一个截图给你。 在此处输入图像描述

如果您查看 scrollView 的滚动条,您会发现它没有向下滚动到底部。
这是我的滚动视图的 XML 布局:

<ScrollView
    android:id="@+id/scrollView1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:layout_alignParentBottom="true"
    android:layout_alignParentLeft="true"
    android:layout_alignParentRight="true"
    android:fillViewport="true"
    android:layout_below="@+id/step2_header" >

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp" >

        <TextView
            android:id="@+id/step2_headerText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:layout_alignParentTop="true"
            android:layout_alignParentRight="true"
            android:gravity="center"
            android:text="@string/Schritt2"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/dark_blue"
            android:textStyle="bold|italic" />

        <ImageView
            android:id="@+id/step2_image"
            android:layout_width="wrap_content"
            android:layout_height="100dp"
            android:layout_below="@+id/step2_headerText"
            android:layout_alignParentLeft="true"
            android:layout_alignParentRight="true"
            android:layout_marginTop="10dp"
            android:src="@drawable/menu_leiste" />

        <TextView
            android:id="@+id/step2_infoText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_marginTop="10dp"
            android:layout_alignParentLeft="true"
            android:layout_below="@+id/step2_image"
            android:text="@string/step2Text"
            android:textAppearance="?android:attr/textAppearanceSmall" />

       <ImageView
            android:id="@+id/step2_but1Img"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_below="@+id/step2_infoText"
            android:layout_marginTop="10dp"
            android:src="@drawable/menu_leiste_selector" />

        <TextView
            android:id="@+id/step2_but1Text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step2_but1Img"
            android:layout_alignParentLeft="true"
            android:layout_alignTop="@+id/step2_but1Img"
            android:layout_marginLeft="10dp"
            android:gravity="center"
            android:text="@string/step2But1Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/white" />

        <ImageView
            android:id="@+id/step2_but1ArrowImg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="3dp"
            android:layout_alignBottom="@+id/step2_but1Img"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/step2_but1Img"
            android:src="@drawable/location_web_site" />

        <ImageView
            android:id="@+id/step2_but2Img"
            android:layout_width="match_parent"
            android:layout_height="35dp"
            android:layout_below="@+id/step2_but1Img"
            android:layout_marginTop="10dp"
            android:src="@drawable/menu_leiste_selector" />

        <TextView
            android:id="@+id/step2_but2Text"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignBottom="@+id/step2_but2Img"
            android:layout_alignParentLeft="true"
            android:layout_alignTop="@+id/step2_but2Img"
            android:layout_marginLeft="10dp"
            android:gravity="center"
            android:text="@string/step2But2Text"
            android:textAppearance="?android:attr/textAppearanceMedium"
            android:textColor="@color/white" />

        <ImageView
            android:id="@+id/step2_but2ArrowImg"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_margin="3dp"
            android:layout_alignBottom="@+id/step2_but2Img"
            android:layout_alignParentRight="true"
            android:layout_alignTop="@+id/step2_but2Img"
            android:src="@drawable/location_web_site" />

    </RelativeLayout>

</ScrollView>

我该如何解决?

4

7 回答 7

154

问题是SrcollView的 RelativeLayout 中的android:layout_margin="10dp"

代替

 <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="10dp">

<RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:padding="10dp" >
于 2013-02-28T09:50:40.777 回答
7

在滚动视图 xml 中使用

android:paddingBottom="10dp"

它将滚动视图的内容向上移动 10 dp 而不是 VIEW。

于 2013-02-28T09:34:47.190 回答
7

试试NestedScrollView吧。

我自己曾多次遇到过这个问题,虽然只是在底部添加额外的填充以隐藏滚动视图在底部栏“后面”起作用的事实,但更好的解决方案是使用此答案中提到的 NestedScrollView:https ://stackoverflow.com/a/36871385/6573127

于 2019-10-14T23:12:26.077 回答
3

对我来说,如果 ScrollView 的父布局是 ConstraintLayout,我还有另一个特定的解决方案。如果是这样,我们不需要设置填充或边距。

<androidx.constraintlayout.widget.ConstraintLayout 
....>
    <ScrollView
            android:layout_width="match_parent"
            android:layout_height="0dp"
            app:layout_constraintBottom_toBottomOf="parent"
            app:layout_constraintTop_toBottomOf="<if there is any element before this this scrollview >">

            <RelativeLayout
                android:layout_width="match_parent"
                android:layout_height="wrap_content" >
于 2018-12-14T01:11:30.230 回答
0

对我来说,为我的一些内部元素设置显式高度会有所帮助。

于 2018-10-10T22:50:18.420 回答
0

我遇到了同样的问题。尝试在scrollView 的底部添加更多填充。它对我有用。

android:paddingBottom="50dp"
于 2019-06-06T17:40:29.170 回答
-2

这可能是您的布局设计的问题。如果您为视图添加边距,那么它将清晰可见。所以

在滚动视图中添加

android:layout_marginBottom="30dp"
于 2013-02-28T09:34:30.900 回答