0

我有以下布局,主要包含:

相对布局,作为带有 Textview 和按钮的标题。

和列表视图。

我想让作为上述相对布局的“标题”透明,并在用户向下滚动列表视图时显示列表视图。

我知道如何使布局透明,但我不知道如何将列表视图显示为“标题”的背景。

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




        <RelativeLayout
            xmlns:android="http://schemas.android.com/apk/res/android"
            android:id="@+id/buttonlayout2"
            android:layout_width="fill_parent"
            android:layout_height="wrap_content"

            android:orientation="horizontal"
           android:background="#FFDBE2ED"
             android:paddingBottom="0dp"
              android:paddingTop="0dp" 
             >
          <TextView
                android:id="@+id/txtTest"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_centerHorizontal="true"  
                android:gravity="center_vertical" 
                android:layout_centerVertical="true"
                android:paddingLeft="0dp"
                android:text="@string/list_header"
                android:textColor="#000000"
                android:textSize="25sp"
                 android:textStyle="bold">
            </TextView>



            <Button
                android:id="@+id/btnClear"
                android:layout_width="wrap_content"
                android:layout_height="wrap_content"
                android:layout_marginBottom="0px"
                android:layout_marginLeft="10px"
                android:layout_marginRight="3px"
                android:layout_marginTop="6px"
                android:height="0dp"
                android:text="Clear"
                android:textSize="15sp"
                android:width="70dp"
                 android:layout_alignParentRight="true"
                  >
            </Button>
       </RelativeLayout>

    <ListView
        android:id="@+id/mylist1"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        android:layout_above="@+id/form"
        android:layout_alignParentTop="true" >
    </ListView>



</LinearLayout>

截屏

4

2 回答 2

2

您正在使用 LinearLayout 作为根容器,并且在线性布局中,视图被放置在另一个之上,因此您不能将一个视图重叠在另一个视图上。如果您想要重叠效果,您可以使用 FrameLayout 或 RelativeLayout 作为根容器。
使用 RelativeLayout 是一个更好的选择。
这是示例代码:

    <?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:orientation="vertical" >

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

    <Button
        android:id="@+id/view"
        android:layout_width="fill_parent"
        android:layout_height="100dp"
        android:background="#00cc0000"
        android:layout_alignParentTop="true" />
</RelativeLayout>

这里的按钮与列表视图重叠。

我希望这个能帮上忙 :)

于 2012-08-21T21:18:42.663 回答
1

尝试将 ListView 作为第一个元素移动到 RelativeLayout 中(这样可以确保它位于后面)。这样,其他视图就在 ListView 之上,如果你让它们透明你应该得到想要的效果!哦,你应该让 ListView 然后填充RelativeLayout:

<ListView
    android:id="@+id/mylist1"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:layout_alignParentTop="true" >
</ListView>

,并使 RelativeLayout 填满屏幕:

<RelativeLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        android:id="@+id/buttonlayout2"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent"
...
于 2012-08-21T18:59:53.477 回答