如何在列表视图上创build重叠布局

我有一个列表视图,将填充AsyncTask和应用程序的底部边缘,我需要显示一个固定的覆盖布局,如下所示:

在这里输入图像说明

但我无法弄清楚如何在XML中做到这一点? 这是我目前的layout.xml:

 <?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"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" /> <!-- Probably I need to do something here --> </LinearLayout> 

Solutions Collecting From Web of "如何在列表视图上创build重叠布局"

正如Daniel所build议的,使用RelativeLayout是因为它允许堆叠组件(与FrameLayoutSurfaceView相同)。 以下代码将为您提供您正在寻找的布局:

 <?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" > <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="match_parent" /> <RelativeLayout android:layout_width="match_parent" android:layout_height="50dp" android:background="@color/transparentBlack" android:layout_alignParentBottom="true" > <TextView android:id="@+id/textView2" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBottom="@+id/textView1" android:layout_alignParentRight="true" android:layout_marginRight="20dp" android:text="Medium Text" android:textColor="@color/white" android:textAppearance="?android:attr/textAppearanceMedium" /> <TextView android:id="@+id/textView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_centerVertical="true" android:layout_marginLeft="40dp" android:text="Large Text" android:textAppearance="?android:attr/textAppearanceLarge" android:textColor="@color/white" /> </RelativeLayout> </RelativeLayout> 

在上面的代码中,用于transparentBlack的颜色hex值是#95000000white#ffffff

这里是一个很好的教程,在Android的用户界面devise的基本知识 : Android用户界面devise:布局基础知识 。

将父布局更改为RelativeLayoutFrameLayout ,并将固定视图放置在ListView的同一级别(但在ListView

就像是:

 ---> RelativeLayout --> ListView --> Any view as the fixed view 

然后,您可以将固定视图alignment到包装RelativeLayout的底部

 <?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"> <ListView android:id="@+id/list" android:layout_width="match_parent" android:layout_height="wrap_content" /> <!-- Here you should position the fixed view --> </RelativeLayout>