<?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:orientation="vertical"> <Spinner android:id="@+id/category_spinner" android:layout_width="match_parent" android:layout_height="48dp" android:layout_marginLeft="8dp" android:layout_marginRight="8dp" android:paddingBottom="1dp" /> <View android:layout_width="match_parent" android:layout_height="2dp" android:layout_alignBottom="@id/category_spinner" android:background="@color/fdroid_green" /> <!-- The empty app list message gets shown on the parent of the @android:id/list. For the update/installed lists, this is not a problem as it is attached to the linear layout the list is in. However here, it will end up in the relative layout which causes sadness. This FrameLayout is here so that the empty message will get shown here. --> <FrameLayout android:layout_width="match_parent" android:layout_height="match_parent" android:layout_below="@id/category_spinner"> <ListView android:id="@android:id/list" android:fastScrollEnabled="true" android:layout_width="match_parent" android:layout_height="match_parent" /> </FrameLayout> </RelativeLayout>