让scrollview填充整个屏幕,除了屏幕底部的相对布局高度

时间:2012-06-17 19:17:02

标签: android scrollview fill

我坚持如何用顶部布局填充整个屏幕,除了底部布局所需的空间。我正在使用相对布局来根据需要放置布局,但我希望我的顶视图占据除底部视图所需空间之外的所有空间(顶视图高度将根据用户输入而改变)。见下面的xml。现在,我的顶视图将占用尽可能多的空间,因为scrollview内部的linearlayout需要+ myTopButton占用的空间。 XML:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
        android:background="@drawable/bg"
        android:paddingBottom="10dip"
        android:focusable="true"
        android:focusableInTouchMode="true">
   <RelativeLayout android:id="@+id/topLayout"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_marginBottom="80dip"
        android:layout_alignParentTop="true">
     <ScrollView android:id="@+id/myscroll"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentTop="true"
        android:layout_marginBottom="65dip"
        android:paddingRight="2dip"
        android:paddingLeft="6dip"
        android:fillViewport="true">
        <LinearLayout style="@style/LinearLayoutInner"
        android:orientation="vertical">
        </LinearLayout> 
    </ScrollView>
    <LinearLayout android:orientation="horizontal"
                    android:layout_width="fill_parent"
                    android:layout_height="wrap_content"
                    android:layout_alignParentBottom="true">
            <Button android:id="@+id/search"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"
                android:layout_marginBottom="10dip"
                android:text="@string/search_viewdoses"/>
    </LinearLayout>
   </RelativeLayout>
   <RelativeLayout android:id="@+id/bottomLayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:orientation="horizontal"
        android:layout_marginTop="-60dip"
        android:layout_alignParentBottom="true">
            <TextView android:id="@+id/myText"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentLeft="true"
            android:text="@string/mytext"></TextView>
            <EditText android:id="@+id/myEdit" 
                android:layout_width="80dip"
                android:layout_height="50dip"
            android:layout_alignParentBottom="true"
            android:layout_toRightOf="@+id/myText"
            android:singleLine="true"
            android:inputType="numberDecimal"></EditText>
            <Button android:id="@+id/save"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentBottom="true"
            android:layout_alignParentRight="true"
            android:layout_marginBottom="10dip"
                android:text="@string/mybuttontext"/>
    </RelativeLayout>
</RelativeLayout>

现在屏幕:enter image description here

屏幕要求:enter image description here

3 个答案:

答案 0 :(得分:4)

只需从topLayout移除底部边距,然后向其添加android:layout_above="@+d/bottomLayout"即可。您必须在xml中定义bottomLayout之前的topLayout。我认为您还应该从bottomLayout中移除上边距。

实际的scrollView和按钮也是如此。

答案 1 :(得分:1)

尝试将android:layout_weight="1"放在ScrollView上。

答案 2 :(得分:1)

在布局标签

   <RelativeLayout android:id="@+id/topLayout"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:layout_marginBottom="80dip"
    android:layout_alignParentTop="true">

只需删除android:layout_marginBottom="80dip",您就应该准备好了。它是在顶部底部产生丑陋不必要空间的那个。