scrolllayout内的scrollview强制按钮屏幕外

时间:2010-11-04 04:29:26

标签: android layout

我正在尝试构建一个活动,其顶部有一个复选框,底部有一个按钮,还有一堆其他小部件在其间滚动。从概念上讲,这是
的LinearLayout
 复选框
 滚动型
  的LinearLayout
   [东东]
  LinearLayout中端
 滚动型高端
 按钮
的LinearLayout端

当它呈现时,我得到顶部的复选框,这些东西在下面很好地滚动,但是在ScrollView下面的按钮(我假设)。我可以让Button显示的唯一方法是硬编码ScrollView的高度,当然这只适用于一个屏幕尺寸。我已经尝试了所有重力和layout_weight的组合,我认为无济于事。我使用正确的视图组合吗?有人设法让这个工作吗?

(我不认为RelativeLayout对于这个来说是非常合适的容器,但是我希望避免它,因为它在1.5上被破坏了。)

谢谢,

- 埃里克

2 个答案:

答案 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>

请注意元素的顺序。不确定它的相关性,但中心元素是最后定义的。