My goal is to show a toolbar at the top of the view, then a TextView, then a ScrollView section and then a footer that always shows at the bottom of the view. The below only shows the toolbar and the TextView header. Nothing is showing for the ScrollView section or for the footer at the bottom. What am I missing here?
EditActivity.xml
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:app="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:focusableInTouchMode="true"
tools:context=".EditActivity">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar" >
</include>
<RelativeLayout android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:gravity="center_horizontal"
android:layout_below="@+id/toolbar" >
<TextView
android:id="@+id/create_skycard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textStyle="bold"
android:textColor="@color/colorFlLabelFinal"
android:textAppearance="?android:attr/textAppearanceLarge"
android:clickable="false" />
</RelativeLayout>
<RelativeLayout android:id="@+id/myFooter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true" >
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_marginBottom="5dp" >
<include layout="@layout/cardview_nobuttons"
android:id="@+id/cardviewNobuttons" />
<include layout="@layout/cardview_previewbuttons"
android:id="@+id/cardviewPreviewbuttons" />
</ViewFlipper>
</RelativeLayout>
<ScrollView
android:id="@+id/ScrollView1"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/header"
android:layout_above="@+id/myFooter"
android:fillViewport="true" >
<LinearLayout
android:id="@+id/LinearLayout1"
style="@style/scrollbar_shape_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical" >
<com.wimso.v108.widget.EditText
... />
</LinearLayout>
</ScrollView>
</RelativeLayout>
First of all, you should limit height of footer view. I set the ViewFlipper
's height to 128dp
for test, so you can calculate your own based on its content.
Second: You should set android:layout_alignParentTop="true"
for the include
which its id is toolbar
. To do this you should set height and weight for it as I did.
Third: The height of the ScrollView
should be wrap_content
instead of match_parent
to be sure it stretches between header and footer views.
Here is your layout source code after applying the above corrections:
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="#FFFFFF"
android:focusableInTouchMode="true"
tools:context=".EditActivity">
<include
android:id="@+id/toolbar"
layout="@layout/toolbar"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentTop="true" />
<RelativeLayout
android:id="@+id/header"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/toolbar"
android:gravity="center_horizontal">
<TextView
android:id="@+id/create_skycard"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:clickable="false"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textColor="@color/colorFlLabelFinal"
android:textStyle="bold" />
</RelativeLayout>
<ScrollView
android:id="@+id/ScrollView1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_above="@+id/myFooter"
android:layout_below="@+id/header"
android:fillViewport="true">
<LinearLayout
android:id="@+id/LinearLayout1"
style="@style/scrollbar_shape_style"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:orientation="vertical">
<com.wimso.v108.widget.EditText
... />
</LinearLayout>
</ScrollView>
<RelativeLayout
android:id="@+id/myFooter"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true">
<ViewFlipper
android:id="@+id/viewFlipper1"
android:layout_width="match_parent"
android:layout_height="128dp"
android:layout_marginBottom="5dp">
<include
android:id="@+id/cardviewNobuttons"
layout="@layout/cardview_nobuttons" />
<include
android:id="@+id/cardviewPreviewbuttons"
layout="@layout/cardview_previewbuttons" />
</ViewFlipper>
</RelativeLayout>
</RelativeLayout>