Android ScrollView不尊重孩子的底部边距

时间:2014-04-05 17:22:55

标签: android android-layout android-scrollview

我有一个android layout_file,看起来像下面的

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

    <LinearLayout
        android:id="@+id/post_ride_container"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_margin="@dimen/activity_margin"
        android:padding="@dimen/activity_margin"
        android:background="@drawable/google_now_style_card"
        android:orientation="vertical" >

    ...

    </LinearLayout
</ScrollView

@dimen/activity_margin是16dp

当我运行应用时,我无法滚动到整个布局的底部,因为它不会显示底部边距。这张照片澄清了

enter image description here

请注意,已达到布局底部的提示(从底部发出的光线),但右侧的滚动条表示还有更多内容可向下滚动。

我期望发生的是能够看到底部的边距,就像布局边缘的边距一样。

3 个答案:

答案 0 :(得分:3)

尝试设置

android:fillViewport="true"
ScrollView中的

。它会给它全高,然后你可以应用下边距。

答案 1 :(得分:2)

我遇到了同样的问题。要解决这个问题,我使用padding代替margin,然后为ScrollView设置android:fillViewport="true"。现在一切顺利!

答案 2 :(得分:0)

它适用于滚动视图的孩子的孩子。 如果你把一个孩子放在滚动视图下,它不会考虑孩子的底边距。 但如果你把孩子放在孩子下面,如代码所示,它工作正常。

    <ScrollView>
        <LinearLayout>
            <LinearLayout>
                ...
            </LinearLayout>
        </LinearLayout>
    </ScrollView>