我正在尝试构建一个活动,其顶部有一个复选框,底部有一个按钮,还有一堆其他小部件在其间滚动。从概念上讲,这是
的LinearLayout
复选框
滚动型
的LinearLayout
[东东]
LinearLayout中端
滚动型高端
按钮
的LinearLayout端
当它呈现时,我得到顶部的复选框,这些东西在下面很好地滚动,但是在ScrollView下面的按钮(我假设)。我可以让Button显示的唯一方法是硬编码ScrollView的高度,当然这只适用于一个屏幕尺寸。我已经尝试了所有重力和layout_weight的组合,我认为无济于事。我使用正确的视图组合吗?有人设法让这个工作吗?
(我不认为RelativeLayout对于这个来说是非常合适的容器,但是我希望避免它,因为它在1.5上被破坏了。)
谢谢,
- 埃里克
答案 0 :(得分:3)
我最近遇到了同样的问题,并补充说:
<ScrollView
...
android:layout_weight="1" >
解决了我的问题。
答案 1 :(得分:0)
我在2.2中使用过这个,不确定layout_above和layout_below标签是否在1.5中可用(如果你使用的话)。 布置您要用其填充剩余区域的三个主要元素,页眉,页脚和中心内容(在本例中为列表视图)。
如果需要,可以使用scrollView替换Listview,或者任何组件。
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent" android:layout_height="fill_parent">
<Button
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Top Button"/>
<Button
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:text="Button"/>
<ListView
android:id="@android:id/center"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@id/header"
android:layout_above="@id/footer"/>
</RelativeLayout>
请注意元素的顺序。不确定它的相关性,但中心元素是最后定义的。