2

我被困在如何用顶部布局填充整个屏幕,除了底部布局所需的空间。我正在使用相对布局来根据需要放置布局,但我希望我的顶视图占据除底视图所需空间之外的所有空间(顶视图高度将根据用户输入而变化)。请参阅下面的 xml。现在,我的顶视图只占用滚动视图内的线性布局所需的空间 + 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>

现在屏幕:在此处输入图像描述

想要的屏幕:在此处输入图像描述

4

3 回答 3

4

只需从中删除底部边距topLayout并添加android:layout_above="@+d/bottomLayout"到它。不过,您必须在 xml中定义bottomLayout之前的内容。topLayout我认为您还应该从bottomLayout.

实际的滚动视图和按钮也是如此。

于 2012-06-17T19:29:03.313 回答
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",你应该准备好了。它是在顶部底部产生丑陋、不需要的空间的地方。

于 2013-10-07T06:37:15.227 回答
1

尝试穿上android:layout_weight="1"ScrollView。

于 2012-06-17T19:24:38.593 回答