0

我想对齐包裹在线性布局内的相对布局底部的两个按钮。

我无法让查看收藏夹按钮位于搜索按钮的顶部。如图所示,有一个很大的空间:

在此处输入图像描述

这是我的代码:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
    android:text="@string/SearchRestaurantsCity"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tvRestaurantSearchCity" />
<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/etRestaurantSearchCity" />
<TextView
    android:text="@string/SearchRestaurantsState"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tvRestaurantSearchState" />
<EditText
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/etRestaurantSearchState" />
<TextView
    android:text="@string/SearchRestaurantsCategories"
    android:textAppearance="?android:attr/textAppearanceMedium"
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/tvRestaurantSearchCategories" />
<Spinner
    android:layout_width="fill_parent"
    android:layout_height="wrap_content"
    android:id="@+id/spRestaurantSearchCategories" />
<RelativeLayout
    android:id="@+id/InnerRelativeLayout"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:layout_alignParentBottom="true">
    <Button
        android:text="@string/btnViewFavoriteRestaurants"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnViewFavoriteRestaurants"
        style="@style/ButtonText"
        android:padding="5dp"
        android:layout_below="btnSearchRestaurants" />
    <Button
        android:text="@string/btnSearchRestaurants"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:id="@+id/btnSearchRestaurants"
        style="@style/ButtonText"
        android:layout_alignParentBottom="true"
        android:padding="5dp" />
</RelativeLayout>

4

4 回答 4

2

XML 有两个问题。

对于初学者,您不能btnSearchRestaurants在定义之前引用按钮。

其次,您已定义btnSearchRestaurants为对齐父底部,然后尝试定义btnViewFavoriteRestaurants该按钮下方的位置。它应该在它上面(根据您的描述)。

于 2012-08-19T14:52:48.370 回答
0

我认为问题出在

android:layout_below="btnSearchRestaurants"

它应该是

android:layout_below="@id/btnSearchRestaurants"
于 2012-08-19T14:52:08.270 回答
0

如果您尝试将我可以看到的第一个按钮放在 RelativeLayout 中,我会尝试更改以下行:

android:layout_below="btnSearchRestaurants" />

对于这个:

android:layout_above="@+id/btnSearchRestaurants" />

部分空间是为我在 LinearLayout 中可以看到的所有布局元素保留的,而 + 是因为按钮 btnSearchRestaurants 在下方,因此尚未创建

于 2012-08-19T15:01:35.847 回答
0

在您的 xml 代码中,我认为您应该更正这一行

android:layout_below="btnSearchRestaurants"

如您所愿,它应该位于“搜索餐厅”按钮上方

android:layout_above="@id/btnSearchRestaurants"

出于明显的原因,我将其从下方更改为上方(您希望它位于另一个按钮上方而不是下方)并添加了@id/,因为您将搜索按钮 ID。

于 2012-08-20T12:48:25.520 回答