我坚持如何用顶部布局填充整个屏幕,除了底部布局所需的空间。我正在使用相对布局来根据需要放置布局,但我希望我的顶视图占据除底部视图所需空间之外的所有空间(顶视图高度将根据用户输入而改变)。见下面的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>
现在屏幕:
屏幕要求:
答案 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"
,您就应该准备好了。它是在顶部底部产生丑陋不必要空间的那个。