我有这种情况,我在RelativeLayout中有4个小部件,顺序如下:
这是布局的XML:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/pedidoClienteRelativeLayout">
<TextView
android:id="@+id/nameLabel"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:maxLines="4"
android:text="Customer Name" />
<LinearLayout
android:id="@+id/ordersLayout"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/nameLabel"
android:layout_above="@+id/totalOrdersLabel"
android:orientation="vertical" >
<ListView
android:id="@+id/booksListView"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:dividerHeight="1dp" >
</ListView>
</LinearLayout>
<TextView
android:id="@+id/totalOrdersLabel"
android:layout_above="@+id/confirmOrderButton"
android:layout_alignParentLeft="true"
android:text="Total" />
<Button
android:id="@+id/confirmOrderButton"
android:layout_alignParentBottom="true"
android:text="Confirm Order" />
</RelativeLayout>
这或多或少是结果:
正如你所看到的那样有用。问题来自于Java我必须根据某些条件使Button不可见。然后Button上方的TextView无法使用android:layout_above="@+id/confirmOrderButton"
进行引用,因此textview显示在Layout的顶部,而ListView根本没有显示。
我认为如果我可以从第二个TextView中删除android:layout_above="@+id/confirmOrderButton"
并添加android:layout_alignParentBottom="true"
,那么应该解决问题。问题是我完全不知道该怎么做,所以如果你能帮助我,我真的很感激。
提前致谢。
答案 0 :(得分:2)
将totalOrdersLabel
TextView的android:layout_alignWithParentIfMissing
设置为true。
<TextView
android:id="@+id/totalOrdersLabel"
android:layout_above="@+id/confirmOrderButton"
android:layout_alignParentLeft="true"
android:layout_alignWithParentIfMissing="true"
android:text="Total" />