在relativeoutout下面的relativeout中显示按钮

时间:2014-03-20 14:44:28

标签: android view relativelayout

我的问题是我无法在listview下的布局中显示两个按钮。下面我在relativelayout中有一个列表视图。我有一个包含2个按钮的第二个relativelayout。按钮似乎显示在列表的顶部,而我希望它们在列表下方。

我该怎么做? 我试过设置' android:layout_below'在第二个RRlayout中,将第一个布局作为锚点。

提前致谢。

<?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"
     >

    <TextView
        android:id="@+id/textviewcarername"
        android:layout_width="fill_parent"
        android:layout_height="wrap_content"
        android:background="@color/blue_alpha_background"
        android:gravity="center"
        android:text="Rota "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF" />

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/carerdetailsfragrellayout"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_below="@id/textviewcarername"
        android:background="@drawable/textviewbg"

        android:padding="10dp" >

        <ListView
            android:id="@+id/android:list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"

            android:cacheColorHint="#0000"
            android:divider="#700000ff"
            android:dividerHeight="4px" >
        </ListView>
    </RelativeLayout>

    <RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"

         >

        <Button
            android:id="@+id/buttonprevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="Previous" />

        <Button
            android:id="@+id/buttonnext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="Next" />
    </RelativeLayout>

</RelativeLayout>

3 个答案:

答案 0 :(得分:1)

此布局应该完成工作

<?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"
     >
    <!-- Header -->
    <TextView
        android:id="@+id/textviewcarername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:background="@color/blue_alpha_background"
        android:gravity="center"
        android:text="Rota "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#FFFFFF"
    />
    <!-- Bottom Layout (Footer) -->
    <RelativeLayout
        android:id="@+id/rlFooter"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_alignParentBottom="true"
         >
        <Button
            android:id="@+id/buttonprevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="Previous"
        />
        <Button
            android:id="@+id/buttonnext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="Next"
        />
    </RelativeLayout>
    <!-- ListView -->
    <RelativeLayout
        android:id="@+id/carerdetailsfragrellayout"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:layout_below="@id/textviewcarername"
        android:layout_above="@id/rlFooter"
        android:background="@drawable/textviewbg"
        android:padding="10dp"
        >
        <ListView
            android:id="@+id/android:list"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:cacheColorHint="#0000"
            android:divider="#700000ff"
            android:dividerHeight="4px"
        />
    </RelativeLayout>
</RelativeLayout>

请注意,我在包含ListView的布局之前移动了底部布局并为其分配了一个id,因此它可以由ListView容器引用

我还删除了额外的命名空间定义

<强> [编辑]

我现在将ListView及其容器 wrap_content 更改为 match_parent ,以填充剩余空间。 ListView现在应该完全适合(我忘了特别)

[编辑2]

您可能希望删除包含ListView的RelativeLayout并将其属性添加到ListView本身,以帮助展平您的设计 - 提高性能(尽可能少)。

答案 1 :(得分:0)

试试这个..

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <TextView
        android:id="@+id/textviewcarername"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:gravity="center"
        android:text="Rota "
        android:textAppearance="?android:attr/textAppearanceLarge"
        android:textColor="#000000" />

    <RelativeLayout
        android:id="@+id/carerdetailsfragrellayout"
        android:layout_width="match_parent"
        android:layout_height="0dp"
        android:layout_weight="1"
        android:padding="10dp" >

        <ListView
            android:id="@+id/android:list"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:cacheColorHint="#0000"
            android:divider="#700000ff"
            android:dividerHeight="4px" >
        </ListView>
    </RelativeLayout>

    <RelativeLayout
        android:layout_width="match_parent"
        android:layout_height="wrap_content" >

        <Button
            android:id="@+id/buttonprevious"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentLeft="true"
            android:text="Previous" />

        <Button
            android:id="@+id/buttonnext"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            android:layout_alignParentRight="true"
            android:text="Next" />
    </RelativeLayout>

</LinearLayout>

答案 2 :(得分:0)

id提供给RelativeLayout,其Buttons包含android:id="@+id/button_panel",并在包含{{android:layout_above="@+id/button_panel"的{​​{1}}中添加属性RelativeLayout 1}}如下......

ListView