防止Scrollview与Android中RelativeLayout中的其他视图重叠

时间:2014-10-02 01:43:16

标签: android scrollview relativelayout

我希望有一个包含3个部分的布局:页眉,内容和页脚,其中页眉和页脚部分应分别固定在屏幕的顶部和底部。中间的内容部分是动态的,可以长得很长。在这种情况下,我希望它可以滚动并且仍然适合中间。所以我试过这样的事情:

<RelativeLayout...>
<LinearLayout android="@+id/header"
android:layout_alignParentTop="true"
..../>
<ScrollView android:id="@+id/content"
android:layout_below="@id/header"
android:layout_above="@+id/footer"
...>
<LinearLayout
.../>
</ScrollView>
<LinearLayout android="@id/footer"
android:layout_alignParentBottom="true"
.../>
</RelativeLayout>

然而,当内容很长时,中间部分会增长并与页眉和页脚重叠。有没有人对如何实现这个目标有更好的了解?

1 个答案:

答案 0 :(得分:3)

最后,我通过将ScrollView包装在另一个LinearLayout中来实现这一点。这似乎是多余的,但它确实有效。 ScrollView似乎与RelativeLayout中的其他LinearLayout不能很好地兼容。以下是代码:

<RelativeLayout...>
<LinearLayout android="@+id/header"
android:layout_alignParentTop="true"
..../>
<LinearLayout android:layout_below="@id/header"
android:layout_above="@+id/footer"
...>
<ScrollView ...
>
<LinearLayout android:id="@+id/content"
.../>
</ScrollView>
</LinearLayout>
<LinearLayout android="@id/footer"
android:layout_alignParentBottom="true"
.../>
</RelativeLayout>