Android: Center a scrollview between header and footer
<p>I am trying to center a ScrollView between a header and footer. Specifically I have a ImageView that has to be at the top, a RelativeView at the bottom and a ScrollView centered between the two. When the content of the ScrollView is not larger than the space between the footer and header, I want it centered vertically like in the image below. My current attempt puts the scrollview in the right place but it will not center itself vertically correctly when the content is smaller than the available space.</p>

<p><a href="http://i.stack.imgur.com/yenq7.png" rel="nofollow">Layout Pic</a></p>

<pre><code>&lt;RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:acg="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"&gt;

&lt;ImageView
    android:id="@+id/preloginLogo"
    android:layout_width="350dp"
    android:layout_height="130dp"
    android:src="@drawable/logo"
    android:layout_centerHorizontal="true"
    android:layout_alignParentTop="true"/&gt;

&lt;ScrollView
    android:layout_width="@dimen/prelogin_main_content_width"
    android:layout_height="wrap_content"
    android:layout_centerHorizontal="true"
    android:layout_below="@+id/preloginLogo"
    android:layout_above="@+id/preloginTertiaryLinks"&gt;

    &lt;RelativeLayout
        android:id="@+id/mainContent"
        android:layout_width="match_parent"
        android:layout_height="wrap_content"&gt;           

    &lt;/RelativeLayout&gt;
&lt;/ScrollView&gt;

&lt;RelativeLayout
    android:id="@+id/preloginTertiaryLinks"
    android:layout_width="match_parent"
    android:layout_height="96dp"
    android:layout_alignParentBottom="true"
    android:layout_centerHorizontal="true"
    android:paddingTop="5dp"&gt;

    &lt;View
        android:layout_width="match_parent"
        android:layout_height="1dip"
        android:background="@color/lt_gray"
        android:layout_centerVertical="true"
        android:layout_alignParentTop="true"/&gt;

    &lt;LinearLayout
        android:orientation="horizontal"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_centerInParent="true"&gt;

        &lt;Button
            android:id="@+id/prelogin_guestButton"
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:text="Footer"/&gt;
    &lt;/LinearLayout&gt;
&lt;/RelativeLayout&gt;
</code></pre>

<p></p>