Если я правильно понимаю, это то, что довольно часто упоминается - иметь фиксированный верхний и нижний колонтитулы и заполнять середину чем-либо (в вашем случае, ScrollView). Это то, что вы ищете? Если это так, вы можете попробовать что-то вроде ниже:
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<LinearLayout
android:id="@+id/header"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
>
//.....stuff here
</LinearLayout>
<LinearLayout
android:id="@+id/footer"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
>
//.....stuff here
</LinearLayout>
<ScrollView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_above="@id/footer"
android:layout_below="@id/header"
>
//......stuff here
</ScrollView>
</RelativeLayout>
По сути, вы определяете заголовок, присваиваете ему фиксированную высоту (в данном случае wrap_content) и задаете его выравнивание по верху родительского элемента (RelativeLayout). Затем сделайте то же самое для нижнего колонтитула, совместив его с нижней частью родительского. Вы можете заменить только кнопку для LinearLayout для нижнего колонтитула, для вашей ситуации, или вы можете просто поместить кнопку внутри LinearLayout. Вероятно, немного быстрее накачать макет без дополнительного LinearLayout. Но в любом случае, затем, определите свою форму, область прокрутки. Установите высоту fill_parent и укажите, что он должен быть выше нижнего колонтитула и ниже заголовка. Это заставит его занимать все оставшееся пространство между верхним и нижним колонтитулом.