在我的表单上,我有一个标签,一个多行文本框和一些按钮。我希望将按钮捕捉到活动的底部,并且多行文本框填充剩余的空间。
我可以让按钮捕捉到底部的唯一方法是在容器上使用android:layout_alignParentBottom,这意味着主布局必须是相对的。
但是,我可以让多行文本框填充空格的唯一方法是容器是否为线性布局并使用0dp / weight = 1.
底部的包含只是一个带按钮的水平线性布局。
有办法做到这一点吗?如下所示,我也尝试过使用Table Rows等。下面是它现在的样子截图。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/fragmentBackdropPlain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/buttonText"
android:text="@string/subtopic_content_name"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content"></TableRow>
<EditText
android:id="@+id/editSubTopicContent"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:hint="@string/subtopic_content_hint"
android:inputType="textMultiLine" >
<requestFocus />
</EditText>
</LinearLayout>
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical" >
<include layout="@layout/include_edit_buttons" />
</LinearLayout>
</RelativeLayout>
答案 0 :(得分:1)
我认为这应该有效:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
style="@style/fragmentBackdropPlain"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >
<LinearLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:orientation="vertical"
android:id="@+id/buttons">
<include layout="@layout/include_edit_buttons" />
</LinearLayout>
<LinearLayout
android:id="@+id/linearLayout1"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:orientation="vertical"
android:layout_above="@+id/buttons">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="@dimen/buttonText"
android:text="@string/subtopic_content_name"
android:textAppearance="?android:attr/textAppearanceMedium" />
<TableRow android:id="@+id/tableRow1" android:layout_width="match_parent" android:layout_height="wrap_content"></TableRow>
<EditText
android:id="@+id/editSubTopicContent"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:hint="@string/subtopic_content_hint"
android:inputType="textMultiLine" >
<requestFocus />
</EditText>
</LinearLayout>
说明:
不同的是,现在他首先创造了按钮。创建按钮后,您可以使用fill_parent
作为其他布局(linearLayout1)的高度,他将使用剩余的空间。如果你反过来写它,他首先膨胀linearLayout1。由于布局仍为空,fill_parent
将占据整个位置。然后就没有剩余的按钮了。