我有以下布局,主要包含:
相对布局,用作Textview和按钮的标题。
和Listview。
我想将上面相对布局的“标题”设置为透明,并在用户向下滚动列表视图时显示列表视图。
我知道如何使布局透明,但我不知道如何将listview显示为“标题”的背景。
<?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>
答案 0 :(得分: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>
此处按钮与列表视图重叠。
我希望这会有所帮助:)
答案 1 :(得分:1)
尝试移动RelativeLayout内部的ListView,作为第一个元素(这可以确保它位于后面)。这样,其他视图就在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"
...